通过js 调用action 时,如果action的step抛出异常,js 捕获的this.statusText是bad request。这种情况用户根本没法判断问题出现在哪里,那么我们怎么能在js解析出插件中抛出的详细日志呢?
解决办法:```
```try {
var result; var req = new XMLHttpRequest();
req.open("POST", Xrm.Page.context.getClientUrl() + "/api/data/v9.0/entityname(" + entityid + ")/Microsoft.Dynamics.CRM.actionName", 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) {
}
} else {
**var exper = JSON.parse(req.responseText)
Xrm.Utility.alertDialog(exper.error.message);**
}
}
};
req.send();
} catch (e) {
alert(e.message);
}
这样抛出的异常就有意义了!