【发布时间】: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