使用web服务更新sharepoint状态列表项

使用web服务更新sharepoint状态列表项,sharepoint,vbscript,Sharepoint,Vbscript,我正在使用旧的SharePoint 2010产品 在我的站点中,我创建了一个状态列表,如下所示: 我找到了一些Web服务API方法,它允许我更新一些记录,如updateListEMS()或UpdateList() 您能告诉我如何生成更新请求以根据CaseNumber#字段更新状态字段吗?我们可以使用listdata.svc根据CaseNumber字段更新列表项。下面的示例代码供您参考,修改变量并将代码添加到内容编辑器web部件中,单击按钮以更新列表项 <script src="https

我正在使用旧的SharePoint 2010产品

在我的站点中,我创建了一个状态列表,如下所示:

我找到了一些Web服务API方法,它允许我更新一些记录,如
updateListEMS()
UpdateList()


您能告诉我如何生成更新请求以根据CaseNumber#字段更新状态字段吗?

我们可以使用listdata.svc根据CaseNumber字段更新列表项。下面的示例代码供您参考,修改变量并将代码添加到内容编辑器web部件中,单击按钮以更新列表项

<script src="https://code.jquery.com/jquery-1.12.4.min.js" type="text/javascript"></script>
<script type="text/javascript">
function updateListItem() {
    var siteUrl="http://sp2010";
    var listName="StatusList";
    var caseNumber="456798";
    var itemProperties={
        'Status': 'Approval'
    };
    $.ajax({
        url: siteUrl + "/_vti_bin/listdata.svc/"+listName+"?$filter=CaseNumber eq '"+caseNumber+"'",
        type: "GET",
        headers: {
            "Accept": "application/json;odata=verbose",
        },
        success: function (data) {          
            var item=data.d.results[0];
            $.ajax({
                type: 'POST',
                url: item.__metadata.uri,
                contentType: 'application/json',
                processData: false,
                headers: {
                    "Accept": "application/json;odata=verbose",
                    "X-HTTP-Method": "MERGE",
                    "If-Match": item.__metadata.etag
                },
                data: Sys.Serialization.JavaScriptSerializer.serialize(itemProperties),
                success: function (data) {
                    alert("succeeded."); 
                },
                error: function (data) {
                    alert(JSON.stringify(data));
                }
          });
        },
        error: function (err) {
            console.log(JSON.stringify(err));
        }
    });
}
</script>
<input type="button" value="update list item" onclick="updateListItem()"/>

函数updateListItem(){
var siteUrl=”http://sp2010";
var listName=“StatusList”;
var caseNumber=“456798”;
var项目属性={
“状态”:“批准”
};
$.ajax({
url:siteUrl+“/”vti\u bin/listdata.svc/“+listName+”?$filter=CaseNumber eq“+CaseNumber+”,
键入:“获取”,
标题:{
“接受”:“application/json;odata=verbose”,
},
成功:函数(数据){
var项目=数据d.结果[0];
$.ajax({
键入:“POST”,
url:item.\uuuu metadata.uri,
contentType:'应用程序/json',
processData:false,
标题:{
“接受”:“application/json;odata=verbose”,
“X-HTTP-Method”:“合并”,
“如果匹配”:项。\uuuu metadata.etag
},
数据:Sys.Serialization.JavaScriptSerializer.serialize(itemProperties),
成功:功能(数据){
警惕(“成功”);
},
错误:函数(数据){
警报(JSON.stringify(数据));
}
});
},
错误:函数(err){
log(JSON.stringify(err));
}
});
}

请查看瓦迪姆·格雷米切夫的回复