2013-03-25 69 views
3

我正在使用以下java腳本代碼通過帳戶ID檢索聯繫人。我設置了警報消息調試。它不成功回撥消息功能。檢索多個記錄OData java腳本Microsoft Dynamics CRM

結束了以下錯誤

錯誤而檢索 「錯誤」:{ 「郎」: 「EN-US」, 「值」: 「語法錯誤 '\ 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); 
} 

回答

1

貌似普通打字錯誤)請注意下面的字符串您傳遞:

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

你的撇號different從平常ones

您需要使用常規'

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

謝謝。現在它經歷了所有的功能,但仍然沒有顯示出期望的結果。 – ozil 2013-03-25 09:24:57

+0

它是否達到'successCallback'函數? – SergeyS 2013-03-25 11:06:08

+0

是的!它正在達到成功回調函數 – ozil 2013-03-25 11:36:00

相關問題