在CRM 2011中加载我的一个表单时,我使用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 :(得分:0)
您无需指定XMLHttpRequest.setRequestHeader("Accept", "application/json")
指定dataType:"json"
另请注意dataType is case sensitive
,因此不是数据类型
答案 1 :(得分:0)
我们发现问题是什么,结果是其中一个字段包含一个不受支持的字符,在这种情况下是一个长字符,因此ajax调用在检索时失败。
感谢您的协助