【发布时间】:2016-07-20 21:42:31
【问题描述】:
更新: 这段代码实际上确实根据需要创建了记录——令人困惑的是,成功回调没有被触发,但错误回调却被触发了。我不确定这会对未来产生什么影响。
我正在尝试使用 HTML Web 资源在动态 crm 中创建记录。正在创建的记录用于自定义实体。应该创建记录的代码如下:
function postAnswers () {
var serverUrl = Xrm.Page.context.getClientUrl();
var ODATA_ENDPOINT = "/XRMServices/2011/OrganizationData.svc";
var odataSetName = "new_regquestionanswersSet"
var odataUri = serverUrl + ODATA_ENDPOINT + "/" + odataSetName;
var answer = {};
// Define attribute values for the CRM object you want created
answer.new_name = "Test Answer!";
//Parse the entity object into JSON
var jsonAnswer = window.JSON.stringify(answer);
//Asynchronous AJAX function to Create a CRM record using OData
$.ajax({ type: "POST",
contentType: "application/json; charset=utf-8",
datatype: "json",
url: odataUri,
data: jsonAnswer,
beforeSend: function (XMLHttpRequest) {
//Specifying this header ensures that the results will be returned as JSON.
XMLHttpRequest.setRequestHeader("Accept", "application/json");
},
success: function (data, textStatus, XmlHttpRequest) {
answer = data.d;
alert("success");
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert("failure");
console.log(textStatus);
}
});
}
postAnswers() 在单击嵌入在表单中的 HTML Web 资源上的按钮时运行。我不确定为什么,但这会以“失败”的形式返回,并且 textStatus 是“错误”。除此之外,我在控制台中没有收到任何明显的错误,这使得故障排除变得困难。
是否有任何可预见的原因导致此代码无法创建记录?或者为什么请求失败?非常感谢您的帮助。
【问题讨论】:
-
可能值得用 Fiddler 捕获流量,您可能会遇到相同的“错误”,但过去我也看到了更多细节。
-
您能否将“textStatus”错误消息发送给我们。我通常在查看此错误消息后开始。
标签: javascript html ajax crm microsoft-dynamics