gpt4 book ai didi

javascript - 通过 Javascript 调用自定义操作时出现错误请求错误

转载 作者:行者123 更新时间:2023-11-30 06:20:15 25 4
gpt4 key购买 nike

我在 CRM 365 上创建了一个自定义操作,它有一个实体引用类型的输入参数,它指的是用户实体,我尝试将输入参数更改为另一种类型并且效果很好。所以我认为问题出在我传递实体引用值的方式上,我试图改变它但我没有任何运气所以有人可以告诉我下面的代码有什么问题吗?

function CreateBlockHistory() {
var Id = Xrm.Page.data.entity.getId();
Id = Id.replace("{", "").replace("}", "");
var data = {
"BlockedBy": {
"ohd_blockedby": Xrm.Page.context.getUserId().replace("}", "").replace("{", ""),
"@odata.type": "Microsoft.Dynamics.CRM.systemuser"
}
};
var serverURL = window.parent.Xrm.Page.context.getClientUrl();
var req = new XMLHttpRequest();
req.open("POST", serverURL + "/api/data/v8.1/new_units(" + Id + ")/Microsoft.Dynamics.CRM.ohd_ActionTest", 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 /* request completed */) {
req.onreadystatechange = null;
if (this.status == 200 /* response ready */) {
var data = JSON.parse(this.response);
}
else {
var error = JSON.parse(this.response).error;
}
}
};
req.send(window.JSON.stringify(data));
}

最佳答案

  1. 400 Bad request 开始 - 这是一个非常普遍的无用错误,而不是依赖于此 - 尝试通过将硬编码的 guid 参数传递给在浏览器控制台或 CRM REST Builder 中运行相同的片段查看执行状态。你也可以调试
  2. 我看到您的 XMLHttpRequest 正在同步运行(bool 参数为 false),将其切换为 Async 并查看
  3. 我还看到您有时使用 window.parent 等混合方法获取 Xrm 上下文,有时直接获取上下文。 window.JSON 也是。如果这是在 web 资源中执行的,而不是以任何实体形式,则适本地修复它
  4. 您可以在该自定义操作消息上注册一个插件,配置文件/调试并查看任何线索

关于javascript - 通过 Javascript 调用自定义操作时出现错误请求错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53585979/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com