【问题标题】:Unable to update the list item in the list using REST API in Sharepoint 2016无法使用 Sharepoint 2016 中的 REST API 更新列表中的列表项
【发布时间】:2021-05-19 07:46:08
【问题描述】:

我从一个月开始就一直在处理这个问题,但无法解决这个问题。我可以使用 GET 方法 rest api 检索列表。但我无法使用 rest api 中的 POST 方法更新列表中的项目。为了清晰起见,我们的想法是获取点击链接的点击次数,它应该自动更新列表中该链接名称的计数。因此,之前的开发者创建了两个列表,分别命名为 'a''b'

  • 'a' 列表包含 pdf、docx。
  • 'b'列表包含'a'列表、名称等列的pdf链接。
  • 我创建了另一个列表 'c',其中包含 'b' 列表和计数的名称。

所以,我正在尝试更新 'c' 列表中的计数列。但是我无法从代码本身更新计数。下面的代码是我尝试过的方法之一。请帮助我解决这个问题,即使在上个月尝试了许多来自 sharepoint 博客和导师的方法后仍然一无所知。

function getItems() {  
    var resturl = _spPageContextInfo.webAbsoluteUrl + "/_api/web/lists/getbytitle('c')/items"; 
        $.ajax({  
            url: resturl,  
            type: "GET",  
            headers: {  
                "accept": "application/json;odata=verbose",  
            },  
            success: function(data) {  
                //console.log(data.d.results);  
                var items = data.d.results; 
                for (var i = 0; i < items.length; i++) {                
                console.log("From C List -> Name: " + items[i].Title + ", Count: " + items[i].Count);                 
                }  
            },  
            error: function(error) {  
            alert(JSON.stringify(error));  
            }  
        });  
 }  

var prevcount = 0;
function updateItems() {  
   
       var resturl = _spPageContextInfo.webAbsoluteUrl + "/_api/web/lists/getbytitle('c')/items";
       prevcount = prevcount + 1;
   
       $.ajax({
           url: resturl,
           method: "POST",
           headers: {
               "accept": "application/json;odata=verbose",
               "X-RequestDigest": $("#__REQUESTDIGEST").val(),
               "content-Type": "application/json;odata=verbose",
               "IF-MATCH": "*",
               "X-HTTPS-Method": "MERGE"
           },
           data: "{__metadata:{'type':'SP.Data.cListItem'}, Count: prevcount}",
      
           async: false, success: function (data) {              
           console.log(data.d.results);   
           },
     
           error: function (data) {   
           console.log(data.responseJSON.error);   
           }   
       });
   }

【问题讨论】:

    标签: javascript rest sharepoint counter sharepoint-2016


    【解决方案1】:

    在您的updateItems 函数中,您需要在resturl 中指定要更新的列表项ID,如下所示:

    var resturl = _spPageContextInfo.webAbsoluteUrl + "/_api/web/lists/getbytitle('c')/items(1)";
    

    你可以参考这篇文章了解更多:https://www.codesharepoint.com/rest-api/update-listitem-in-sharepoint-using-rest-api

    【讨论】:

      猜你喜欢
      • 2019-06-06
      • 2014-10-26
      • 1970-01-01
      • 2023-04-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-07
      • 2021-03-05
      相关资源
      最近更新 更多