Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 检索多条记录OData java脚本Microsoft Dynamics CRM_Javascript_Dynamics Crm 2011 - Fatal编程技术网

Javascript 检索多条记录OData java脚本Microsoft Dynamics CRM

Javascript 检索多条记录OData java脚本Microsoft Dynamics CRM,javascript,dynamics-crm-2011,Javascript,Dynamics Crm 2011,我正在使用以下java脚本代码按帐户Id检索联系人。我正在设置警报消息调试。它不进入成功回拨消息功能 以以下错误结束 检索时出错 “error”:{“lang”:“en-US”,“Value”:“语法错误”\ufffd'位于位置20。”} 我正在使用以下代码 function retrieveMultiple(odataSetName, select, filter, successCallback) { var serverUrl = Xrm.Page.context.getServe

我正在使用以下java脚本代码按帐户Id检索联系人。我正在设置警报消息调试。它不进入成功回拨消息功能

以以下错误结束

检索时出错 “error”:{“lang”:“en-US”,“Value”:“语法错误”\ufffd'位于位置20。”}

我正在使用以下代码

function retrieveMultiple(odataSetName, select, filter, successCallback) {
    var serverUrl = Xrm.Page.context.getServerUrl();
    var ODATA_ENDPOINT = "/XRMServices/2011/OrganizationData.svc";
    var odataUri = serverUrl + ODATA_ENDPOINT + "/" + odataSetName + "?";

    alert("retrieveMultiple"+odataUri);

    if (select) {
        odataUri += "$select=" + select + "&";
        alert("select error="+odataUri);
    }

    if (filter) {
       odataUri += "$filter=" + filter;
       alert("filter error="+odataUri);
    }

    $.ajax({
       type: "GET",
       contentType: "application/json; charset=utf-8",
       datatype: "json",
       url: odataUri,
       beforeSend: function (XMLHttpRequest) {
           //Specifying this header ensures that the results will be returned as JSON.
           var x = XMLHttpRequest.setRequestHeader("Accept", "application/json");
           alert(" in Ajax :beforeSend:" + x );
       },
       success: function (data, textStatus, XmlHttpRequest) {
           alert("In success function outside success");

           if (successCallback) {
               alert("successCallback in if");

               if (data && data.d && data.d.results) {
                   alert("data && data.d && data.d.results"+data + data.d + data.d.results);
                   successCallback(data.d.results, textStatus, XmlHttpRequest);
                   alert("data.d.results, textStatus, XmlHttpRequest" + data.d.results + textStatus +       XmlHttpRequest);
                }
                else if (data && data.d) {
                     successCallback(data.d, textStatus, XmlHttpRequest);
                }
           else {
               successCallback(data, textStatus, XmlHttpRequest);
           }
       }
    },
    error: function (XmlHttpRequest, textStatus, errorThrown) {
        alert(" In erro function");

        if (XmlHttpRequest && XmlHttpRequest.responseText) {
           alert(" In error function If");
           alert("Error while retrieval ; Error – " + XmlHttpRequest.responseText);
        }
    }
});
}

function readRecordsOnSuccess(data, textStatus, XmlHttpRequest) {
    // Loop through the retrieved records
    for (var indx = 0; indx < data.length; indx++) {
         alert("Name – " + data[indx].name);
    }
}

function retrieveContactsByAccountId() {
    // Pass ‘Contact’ set name since we are reading Contacts
    var oDataSetName = "ContactSet";

    // Column names of ‘Contact’ (Pass * to read all columns)
    var columns = "FirstName";

    // Read Account Guid
    var accountId = Xrm.Page.data.entity.getId()

    // Prepare filter
    var filter = "AccountId/Id eq guid’" + accountId + "‘";

    alert("retrieveContactsByAccountId"+filter);

    retrieveMultiple(oDataSetName, columns, filter, readRecordsOnSuccess);
}
函数retrieveMultiple(odataSetName、select、filter、successCallback){
var serverUrl=Xrm.Page.context.getServerUrl();
var ODATA_ENDPOINT=“/XRMServices/2011/OrganizationData.svc”;
var-odataUri=serverUrl+ODATA_端点+“/”+odataSetName+“?”;
警报(“retrieveMultiple”+odataUri);
如果(选择){
odataUri+=“$select=“+select+”&”;
警报(“选择错误=“+odataUri”);
}
如果(过滤器){
odataUri+=“$filter=“+filter;
警报(“过滤器错误=“+odataUri”);
}
$.ajax({
键入:“获取”,
contentType:“应用程序/json;字符集=utf-8”,
数据类型:“json”,
网址:odataUri,
beforeSend:函数(XMLHttpRequest){
//指定此标头可确保结果将作为JSON返回。
var x=XMLHttpRequest.setRequestHeader(“接受”、“应用程序/json”);
警报(“在Ajax:beforeSend:+x中);
},
成功:函数(数据、textStatus、XmlHttpRequest){
警报(“成功功能内成功功能外成功”);
如果(成功回调){
警报(“如果成功回调”);
if(数据和数据.d和数据.d.results){
警报(“数据和数据.d和数据.d.results”+数据+数据.d+数据.d.results);
successCallback(data.d.results、textStatus、XmlHttpRequest);
警报(“data.d.results,textStatus,XmlHttpRequest”+data.d.results+textStatus+XmlHttpRequest);
}
else if(data&&data.d){
successCallback(data.d、textStatus、XmlHttpRequest);
}
否则{
successCallback(数据、textStatus、XmlHttpRequest);
}
}
},
错误:函数(XmlHttpRequest、textStatus、errorshown){
警报(“错误功能中”);
if(XmlHttpRequest&&XmlHttpRequest.responseText){
警报(“在错误功能中,如果”);
警报(“检索时出错;错误-”+XmlHttpRequest.responseText);
}
}
});
}
函数readRecordsOnSuccess(数据、文本状态、XmlHttpRequest){
//循环检索到的记录
对于(var indx=0;indx
看起来像是常见的打字错误;)请注意您正在传递的以下字符串:

var filter = "AccountId/Id eq guid’" + accountId + "‘";
你的撇号是平常的

您需要使用常规的

var filter = "AccountId/Id eq guid'" + accountId + "'";

非常感谢。现在它完成了所有函数,但仍然没有显示所需的结果。它是否达到了
successCallback
function?结果是名称未定义。