0

我在 MS CRM 2011 中使用 JOSN 数据时遇到问题。我正在使用正确的 REST 语法来提取 CRM 数据,但我的 JavaScript 是剩下的问题。

我想要做的是将我的 JSON 中的数据附加到我选择的类中。我检查了控制台,没有明显的错误。最初我相信一旦有了 JSON 对象,我就可以使用 jQuery 从中提取数据。这是我目前拥有的代码:

RetrieveScoutMetadata : (function(scout_displayable){
var query = "/scout_metadataSet?$select=scout_data_type,scout_display_name,scout_display_order,scout_displayable,ImportSequenceNumber,scout_name,scout_metadataId&$orderby=scout_display_order asc&$filter=scout_displayable eq "+scout_displayable+"";
ExecuteQuery(query);
 })

RetrieveScoutOpportunity : (function(scout_account){
var query = "/scout_opportunitySet?$select=*&$filter=scout_account/Id eq guid'"+scout_account+"'";  
ExecuteQuery(query);
})

RetrieveScoutAccount : (function(scout_account){
var query = "/scout_accountSet?$select=*&$filter=scout_account/Id eq guid'"+scout_account+"'";
ExecuteQuery(query);
})

 //
 // ExecuteQuery executes the specified OData Query asyncronously
 //
 // NOTE: Requires JSON and jQuery libraries. Review this Microsoft MSDN article before 
 //       using this script http://msdn.microsoft.com/en-us/library/gg328025.aspx
 //
 function ExecuteQuery(ODataQuery) {

var serverUrl = Xrm.Page.context.getServerUrl();

// Adjust URL for differences between on premise and online 
if (serverUrl.match(/\/$/)) {
    serverUrl = serverUrl.substring(0, serverUrl.length - 1);
}

var ODataURL = serverUrl + "/XRMServices/2011/OrganizationData.svc" + ODataQuery;

 $.ajax({
    type: "GET",
    contentType: "application/json; charset=utf-8",
    datatype: "json",
    url: ODataURL,
    beforeSend: function (XMLHttpRequest) {
        XMLHttpRequest.setRequestHeader("Accept", "application/json");
    },
    success: function (data, textStatus, XmlHttpRequest) {
        //
        // Handle result from successful execution
        //
        // e.g. data.d.results
        alert("OData Execution Success Occurred");
    },
    error: function (XmlHttpRequest, textStatus, errorObject) {
        //
        // Handle result from unsuccessful execution
        //
        alert("OData Execution Error Occurred");
    }
});
$('.up-sell').append(account.scout_num_up_sells);
}

 //
 // Error Handler
 //
 function ErrorHandler(XMLHttpRequest, textStatus, errorObject)
  { alert("Error Occurred : " + textStatus + ": " + JSON.parse(XMLHttpRequest.responseText).error.message.value); }
4

1 回答 1

0

要获得响应,请使用“完成”功能:

complete: function (jsondata, stat) {
                         if (stat == "success") {   
                             data = JSON.parse(jsondata.responseText);
                         }
}
于 2013-07-22T09:12:12.507 回答