在我的 Dynamics CRM 上发帖时,我在将 ODATA 字符串转换为 JSON 时遇到问题。 当我尝试以这种方式序列化时:
var phoneCallAssociationJsonData = '{'
+'"@odata.id" : "https://contoso.crm4.dynamics.com/api/data/v8.1/phonecalls('+ phoneCallUid +')"'
+'}';
然后像这样在请求中序列化它:JSON.stringify(phoneCallAssociationJsonData);
我收到 BAD REQUEST 响应。但是当我使用 POSTMAN 发布数据并复制以下 JSON 时:
{"@odata.id" : "https://contoso.crm4.dynamics.com/api/data/v8.1/phonecalls(12a59ec0-76b5-e611-80ed-5065f38a8ad1)"}
它工作得很好。 有人知道是否有一种特殊的方式来序列化 odata 格式的字符串?
我尝试创建一个 javascript 对象,但是添加一个 object.@odata.id 是不可能的,因为 @ 不是允许的字符。
最佳答案
首先,不是创建一个字符串,然后将其字符串化,而是创建一个 OBJECT
var phoneCallAssociationJsonData = {
"@odata.id" : "https://contoso.crm4.dynamics.com/api/data/v8.1/phonecalls("+ phoneCallUid +")"
};
然后
JSON.stringify(phoneCallAssociationJsonData);
现在应该可以工作了
关于javascript - 使用 ODATA 格式的 javascript 发布数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40860799/