Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript SharePoint 2010 REST API,将内容发布到包含;“用户”;纵队_Javascript_Rest_Sharepoint_Sharepoint 2010 - Fatal编程技术网

Javascript SharePoint 2010 REST API,将内容发布到包含;“用户”;纵队

Javascript SharePoint 2010 REST API,将内容发布到包含;“用户”;纵队,javascript,rest,sharepoint,sharepoint-2010,Javascript,Rest,Sharepoint,Sharepoint 2010,例如,我有一个名为“购物清单”的列表,它有两列。 第一列类型为人员或组(允许多人),列名为“客户”。 第二列类型为字符串 我可以使用ajax将信息发布到普通的SharePoint列表中,但不能发布到这个购物列表中。 我知道如何格式化单用户列的数据,但不知道如何格式化多用户列的数据,单用户列类似于: 列名为Customer,数据格式应为: item.CustomerID=1对于SharePoint 2010 REST界面,多值用户字段的正确负载应如下所示: '<MultiUserField

例如,我有一个名为“购物清单”的列表,它有两列。 第一列类型为人员或组(允许多人),列名为“客户”。 第二列类型为字符串

我可以使用ajax将信息发布到普通的SharePoint列表中,但不能发布到这个购物列表中。 我知道如何格式化单用户列的数据,但不知道如何格式化多用户列的数据,单用户列类似于: 列名为Customer,数据格式应为:


item.CustomerID=1对于SharePoint 2010 REST界面,多值用户字段的正确负载应如下所示:

'<MultiUserFieldName>': [
    { 
        __metadata: { 
            "uri": "<WebUrl>/_vti_bin/listdata.svc/UserInformationList(<UserId>)"
        }
    }
]
在哪里


很好,非常感谢。事实上,为了这个答案,我在谷歌上搜索了一整天。
var webUrl = "http://contoso.intranet.com";
var listName = "ShoppingCart";
var properties = {
    'Title': 'Item #123',
    'Customers': createPayloadForMultiUserField(webUrl,[1,2,3])
};


createListItem(webUrl,listName,properties)
.done(function(data){
    console.log('Item ' + data.d.Title + ' has been created'); 
})
.fail(function(error){
    console.log(JSON.stringify(error));
});
function createListItem(webUrl,listName, itemProperties) {
    return $.ajax({
        url: webUrl + "/_vti_bin/listdata.svc/" + listName,
        type: "POST",
        processData: false,
        contentType: "application/json;odata=verbose",
        data: JSON.stringify(itemProperties),
        headers: {
            "Accept": "application/json;odata=verbose"
        }
    });
}


function createPayloadForMultiUserField(webUrl,userIds)
{
    return userIds.map(function(id){
        return { 
            __metadata: { 
                "uri": webUrl + "/_vti_bin/listdata.svc/UserInformationList(" + id + ")"
            }
        } 
    });
}