我有一个SharePoint列表(我们称之为'Employee'),我使用jQuery和REST来读取和写入该列表中的属性。
如果我想更新,例如一个int属性(让我们称之为'EmployeeAge'),它非常简单:
jQuery.ajax({
url: myUrl,
type: "POST",
data: JSON.stringify({ '__metadata': { 'type': 'SP.Data.EmployeeListItem' }, 'EmployeeAge': age }),
headers: {
"accept": "application/json;odata=verbose",
"content-type": "application/json;odata=verbose",
"content-length": 0,
"X-HTTP-Method": "MERGE",
"X-RequestDigest": $("#__REQUESTDIGEST").val(),
"IF-MATCH": "*"
},
success: successHandlerUpdateEmployeeAge,
error: errorHandlerUpdateEmployeeAge
});
现在我想使用相同的原则来更新列表的另一列。我们称之为'EmployeeImage'。该列的类型为Hyperlink / Picture和子类型Picture。我想为特定列表项设置列的图像url属性。
如何在ajax调用中格式化数据属性以支持此类更新?
我可以找到关于如何更新标题字段的一千个样本,但没有关于更新复杂类型的样本。
答案 0 :(得分:1)
在搜索了我在纠正列名称问题后得到的错误消息后,我找到了答案。事实证明它很简单:
为了更新这样的复杂类型,您需要将其作为javascript对象提供,而不是:
'EmployeeImage': 'http://myurl'
使用此表示法提供对象结构:
'EmployeeImage': {Url: 'http://myurl', Description: 'This is the description'}