我在我的CRM online V9中创建了一个自定义操作,它有两个参数、一个对联系人的实体引用和一个字符串。
我检查了模式名(大写和小写)是否正确,甚至尝试使用rest构建器生成代码,但一直收到"Bad Request“错误。
下面是我的代码:
var parameters = {};
var contact = {};
contact.primarykeyid = "49A0E5B9-88DF-E311-B8E5-6C3BE5A8B200";//I added an hard coded value for testing
contact["@odata.type"] = "Microsoft.Dynamics.CRM.contact";
parameters.Contact = contact;
parameters.Text = "Some Text";
var req = new XMLHttpRequest();
req.open("POST", Xrm.Page.context.getClientUrl() + "/api/data/v8.2/new_CreateSMSrecord", false);
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) {
var results = JSON.parse(this.response);
} else {
Xrm.Utility.alertDialog(this.statusText);
}
}
};
req.send(JSON.stringify(parameters));发布于 2017-12-30 16:49:25
好了,我设法找到了问题所在,我修改了联系人参数的代码,解决了这个问题,下面是我的更新代码:
var parameters = {};
parameters.Contact = { "contactid": "49A0E5B9-88DF-E311-B8E5-6C3BE5A8B200", "@odata.type": "Microsoft.Dynamics.CRM.contact" }
parameters.Text = "I'm from JS";
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
datatype: "json",
url: Xrm.Page.context.getClientUrl() + "/api/data/v9.0/new_CreateSMSrecord",
data: JSON.stringify(parameters),
beforeSend: function (XMLHttpRequest) {
XMLHttpRequest.setRequestHeader("OData-MaxVersion", "4.0");
XMLHttpRequest.setRequestHeader("OData-Version", "4.0");
XMLHttpRequest.setRequestHeader("Accept", "application/json");
},
async: false,
success: function (data, textStatus, xhr) {
var results = data;
},
error: function (xhr, textStatus, errorThrown) {
Xrm.Utility.alertDialog(textStatus + " " + errorThrown);
}
});https://stackoverflow.com/questions/48025702
复制相似问题