更新:此代碼實際上確實創建了所需的記錄 - 但令人困惑的是成功回調未被觸發,但錯誤回調爲。我不確定這會有什麼影響。動態CRM麻煩用Javascript/HTML Web資源創建記錄
我正在嘗試使用HTML網絡資源在動態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網絡資源一鍵點擊運行。我不確定爲什麼,但是這會回來,因爲「失敗」,textStatus是「錯誤」。除此之外,我沒有在控制檯中發現任何明顯的錯誤,這使得難以排除故障。
有沒有任何可預見的原因,爲什麼這段代碼無法創建記錄?或者爲什麼請求失敗?非常感謝您的幫助。
值得用Fiddler捕捉流量,你可能會得到同樣的「錯誤」,但是在過去我也看到了額外的細節。 –
您可以向我們發送「textStatus」錯誤消息。我通常在查看此錯誤消息後開始。 –