执行Action
executeAction: function (parameters, actionName, successFunc, failFunc, msg) {
var req = new XMLHttpRequest();
var url = Xrm.Page.context.getClientUrl() + "/api/data/v9.1/" + actionName;
req.open("POST", url, true);
req.setRequestHeader("OData-MaxVersion", "4.0");
req.setRequestHeader("OData-Version", "4.0");
req.setRequestHeader("Accept", "application/json");
req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
req.onreadystatechange = function () {
if (this.readyState === 4) {
req.onreadystatechange = null;
if (this.status === 200) {
if (successFunc) {
let responseJson = JSON.parse(this.response.replaceAll("\n", "\\n").replaceAll("\r", "\\r"));
successFunc(responseJson);
}
} else {
if (failFunc) {
failFunc(JSON.parse(this.response).error.message);
}
}
}
};
req.send(JSON.stringify(parameters));
}
执行FetchXML
/**
* 执行fetchXml
* @param {any} entityName
* @param {any} fetchXml
* @param {any} successCallBack
* @param {any} failCallBack
*/
executeFetchXml: function (entityName, fetchXml, successCallBack, failCallBack) {
var url = Xrm.Page.context.getClientUrl() + "/api/data/v9.1/" + entityName + "?fetchXml=" + encodeURI(fetchXml);
var request = new XMLHttpRequest();
request.open("GET", url, true);
request.setRequestHeader("Accept", "application/json");
request.setRequestHeader("OData-MaxVersion", "4.0");
request.setRequestHeader("OData-Version", "4.0");
request.setRequestHeader("Content-Type", "application/json; charset=utf-8");
request.onreadystatechange = function () {
if (this.readyState === 4) {
this.onreadystatechange = null;
if (this.status === 200) {
successCallBack(this.response);
} else {
failCallBack(window.JSON.parse(this.response).error.message);
}
}
};
request.send();
}