如何在结果中获取XMLHttpRequest的属性值

问题描述

我具有以下与Microsoft Dynamics相关的XMLHttpRequest JavaScript函数,并且在尝试检索返回的记录的实体属性时遇到问题。

即使条件本应阻止该记录,也设法创建了该记录。我的以下说法很可能是造成此问题的原因:

var result1 = results.results[0];

alert("result1: " + result1.id); //Not displayed

function DisableInvalidRecordCreation(context) {

    var saveEvent = context.getEventArgs();
    var idNumber= Xrm.Page.getAttribute("IDNumber").getValue();
    var category= Xrm.Page.getAttribute("Category").getValue();
    var id = Xrm.Page.data.entity.getId();

    var req = new XMLHttpRequest();
    req.open("GET",Xrm.Page.context.getClientUrl() + "/api/data/v9.0/ccc_cases?$select=IDNumber&$filter=IDNumber eq '" + idNumber+ "' and statecode eq 0",false);
    req.setRequestHeader("OData-MaxVersion","4.0");
    req.setRequestHeader("OData-Version","4.0");
    req.setRequestHeader("Accept","application/json");
    req.setRequestHeader("Content-Type","application/json; charset=utf-8");
    req.setRequestHeader("Prefer","odata.include-annotations=\"*\",odata.maxpagesize=1");
    req.onreadystatechange = function () {
        if (this.readyState === 4) {
            req.onreadystatechange = null;
            if (this.status === 200) {
                var results = JSON.parse(this.response);
                if (results.value.length > 0 && id == "") {
                    alert(results.value.length); //Displayed as 1
                    var result1 = results.results[0];
                    alert("result1: " + result1.id); //Not displayed
                    for (var i = 0; i < results.entities.length; i++) {
                        var returned_category= results.entities[i]["Category"];
                        alert(returned_category); //Not displayed
                        if (category == 100000003 && returned_category!= 100000003)
                        {
                            alert("Invalid record");
                            saveEvent.preventDefault();
                        }
                    }
                }
            } else {
                Xrm.Utility.alertDialog(this.statusText);
            }
        }
    };
    req.send();
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)