2013-10-03 50 views
1

在我的CRM 2011中的某個表單加載時,我正在使用ajax發佈來清除某些字段。在大多數唱片上都沒有問題,但是每次都失敗了,我無法弄清楚這個會導致它失敗的不同。有人可以看看我正在查看的電話是否有任何錯誤?Ajax發佈只返回一條記錄的錯誤請求

感謝

var serverUrl = Xrm.Page.context.getClientUrl().toString(); 
    var ODATA_ENDPOINT = "/XRMServices/2011/OrganizationData.svc"; 
    var crmEntity = new Object(); 
    var ODATA_EntityCollection = "/SalesOrderSet"; 

    crmEntity.ts_payment_data = null; 
    crmEntity.ts_payment_split = null; 

    var jsonEntity = window.JSON.stringify(crmEntity); 

    $.ajax({ 
     type: "POST", 
     contentType: "application/json; charset=utf-8", 
     datatype: "json", 
     async: true, 
     url: serverUrl + ODATA_ENDPOINT + ODATA_EntityCollection + "(guid'" + orderid + "')", 
     data: jsonEntity, 
     beforeSend: function (XMLHttpRequest) { 
      XMLHttpRequest.setRequestHeader("Accept", "application/json"); 

      XMLHttpRequest.setRequestHeader("X-HTTP-Method", "MERGE"); 
     }, 
     error: function (xmlHttpRequest, textStatus, errorThrown) { 
      alert("ClearPaymentData\nStatus: " + textStatus + "; ErrorThrown: " + errorThrown + "; Response: " + xmlHttpRequest.responseText); 
     } 
    }); 

回答

0

您無需指定XMLHttpRequest.setRequestHeader("Accept", "application/json")

當您指定dataType:"json"

還要注意的是dataType is case sensitive,因此沒有數據類型

0

我們發現了什麼問題事實證明,其中一個字段包含一個不受支持的字符,在這種情況下是一個長字符破折號,所以ajax調用失敗時,檢索它。

感謝您的協助