![](/img/trans.png)
[英]Microsoft Dynamics CRM 365 calling an action via JavaScript asynchronously
[英]Calling global custom action using JavaScript in Dynamics CRM
我在 Dynamics CRM 中使用 JavaScript 調用全局自定義操作時遇到問題。
在 CRM 中,我創建了這個全局操作,它接受一個輸入參數並返回一個輸出參數。 我已經確認該操作已激活並有效。 當我嘗試使用 JavaScript 調用它時出現問題。
我的 JavaScript 代碼如下:
callCustomAction: function (actionName, actionParameters) {
var result = null;
var req = new XMLHttpRequest();
req.open("POST", encodeURI(Xrm.Page.context.getClientUrl() + "/api/data/v8.2/" + actionName), false);
req.setRequestHeader("Accept", "application/json");
req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
req.setRequestHeader("OData-MaxVersion", "4.0");
req.setRequestHeader("OData-Version", "4.0");
req.onreadystatechange = function () {
if (this.readyState == 4) {
req.onreadystatechange = null;
if (this.status == 200) {
result = JSON.parse(this.response);
} else {
var error = JSON.parse(this.response).error;
alert(error.message);
}
}
};
req.send(window.JSON.stringify(actionParameters));
return result;
}
現在,對我來說,這看起來是正確的,但我遇到了 URL 問題,目前無處可去。 我到處尋找全局操作的 URL 只是組織 URL,后跟“/api/data/v8.2/”和我的操作名稱,但對我來說它不起作用,我不知道為什么。
已解決問題是使用 EntityReferences 和字符串的混合作為輸出參數,這使我的操作沒有顯示在元數據下
無法使用 Web API 調用具有關聯輸出參數的全局操作。 對於沒有輸出參數的操作,情況並非如此。
這是因為有時狀態代碼是 200,有時不同。 我們注意到了這個錯誤,並觀察到它只發生在具有輸出參數的操作中。 我們也注意到這種情況在某些時候發生,並不經常發生,因為有時您會得到輸出但有時不會。
作為一種解決方法,您需要使用傳統的 SOAP 查詢並執行工作流,然后解析響應。
希望MS盡快解決這個問題
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.