我正在使用 Microsoft Dynamics CRM 2011,我需要创建一个注释并将其附加到 JavaScript 中的潜在客户。目前我有一个类似的对象:
var note = new Object();
note.subject = "some text";
note.notetext = "some other text";
但是,我不确定如何定义注释和潜在客户之间的联系。在相关说明中,在提交这些实体时,我会使用 OData 服务“发布”它们吗?
谢谢
编辑#1:使用 Jason 帖子中的信息,我现在得到了以下代码,但它似乎没有添加节点。有人可以指出我哪里出错了吗?
var note = new Object();
note.subject = "Test Note";
note.notetext = "some test text";
note.objectid = { id: selectedItemId, logicalname: "lead", name: "A Name" };
var postRequest = new XMLHttpRequest();
postRequest.open( "POST", url + "/LeadSet(guid'" + selectedItemId.toString() + "')", true );
postRequest.setRequestHeader( "Accept", "application/json" );
postRequest.setRequestHeader( "Content-Type", "application/json;charset=utf-8" );
postRequest.setRequestHeader( "X-HTTP-Method", "MERGE" );
postRequest.onreadystatechange = function() {
if( this.readyState == 4 )
{
var text = "complete";
}
};
postRequest.send(note.toString());
“selectedItemId”是传递给函数的 GUID。当“readystate”字段设置为 4 时,包含的“status”设置为 400。
编辑#2:我尝试传入以下字符串,但仍然收到 400(错误请求)响应。
{ObjectTypeCode: 4, Subject: \"test note\", NoteText: \"text\", ObjectId: { ObjectIdTypeCode: 4, Id: \"" + selectedItemId + "\", LogicalName: \"lead\", Name: \"A Name\" } }
编辑#3:好的,所以如果我删除“X-HTTP-METHOD”行,将“ObjectTypeCode”数字 4 用引号括起来并删除“ObjectIdTypeCode”,然后我得到一个 500(内部错误)和一个代码“ -2147217150”。