【问题标题】:Update SharePoint List Item using Rest API and HTML Input Element使用 Rest API 和 HTML 输入元素更新 SharePoint 列表项
【发布时间】:2021-03-05 14:06:06
【问题描述】:

我很难让我的以下脚本工作以更新我的 SharePoint 列表“ProjectTracker”上的项目。我研究并尝试了几种类似的方法,但我似乎无法获得任何脚本版本来更新列表项。我不断收到 SharePoint 错误消息“值”:这种类型的 SP.ListItemEntityCollection 不支持 HTTP PATCH 方法。”雕像”:400,“statusText”:“错误请求”}。我包含了错误的屏幕截图,下面是我正在使用的脚本。

任何帮助或建议将不胜感激。提前谢谢你。

jQuery(document).on("click", '#UpdateListItem', function(){
 UpdateListItem();
});//Button close

function UpdateListItem() {
 var myID = $("#itemID").val();
 var listName = "ProjectTracker";
 var office = $("#uOffice").val();
 var title = $("#uProjectTitle").val();
 var priority = $("#uPriority").val();
 var startDate = $("#uStartDate").val();
 var assignedTo = $("#uAssignedTo").val();
 var status = $("#uStatus").val();
 var requestor = $("#uRequestor").val();
 
 var item = {
 "__metadata": { "type": "SP.Data.ProjectTrackerListItem" },
 "Office": office,
 "ProjectTitle": title,
 "Priority": priority,
 "StartDate": startDate,
 "AssignedTo": assignedTo,
 "Status": status,
 "Requestor": requestor
 };
 
 $.ajax({
 url: _spPageContextInfo.webAbsoluteUrl + "/_api/web/lists/getbytitle('" + listName + "')/items(" + myID + ")",
 type: "POST",
 data: JSON.stringify(item),
 headers: {
     contentType: "application/json;odata=verbose",
     "Accept": "application/json;odata=verbose",
     "X-RequestDigest": $("#__REQUESTDIGEST").val(),
     "IF-MATCH": "*",
     "X-HTTP-Method":"MERGE",
 },
 success: onSuccess,
error: onError
});
function onSuccess(data) {
alert('List Item Updated');
}
function onError(error) {
alert(JSON.stringify(error));
}
}//Function close

【问题讨论】:

  • 该错误表明您正在尝试更新项目集合,而不是单个项目。你可以用F12来追踪真正的请求吗?
  • 感谢您的回复,但我不确定如何通过 F12 跟踪此问题。任何建议如何完成此操作?
  • 它是浏览器 F12 工具。转到网络选项卡以查看后面的请求。它应该提供更多信息docs.microsoft.com/en-us/microsoft-edge/devtools-guide/network
  • 我按照您的指示找到了问题所在。我的列表名称中显示了一个空格 SP.Data.Project TrackerListItem,即使它在列表中没有这样显示。但是当我调整我的脚本(列表名称)填充空间时,SP.Data.Project_x0020_TrackerListItem,一切正常(按预期更新)。这么小的事情引起了这么多的头痛。但现在一切都很好。非常感谢您的建议...非常有帮助!
  • ??????那真是太好了! ??????

标签: sharepoint-2013 html-input sharepoint-rest-api


【解决方案1】:

请检查列表内部名称和列内部名称

有关 AJAX 调用的更多详细信息,请参阅下面的完整 ajax 调用年龄。

https://sharepointmasterhub.blogspot.com/2020/12/sharepoint-crud-operations-with-rest-api.html?m=1#Update

【讨论】:

  • 欢迎来到 Stackoverflow!请使用标签对您的帖子进行分类。还要解释您尝试过的内容以及您的问题到底是什么。没有详细解释这一点,我们只能猜测你想要什么。链接到某些博客文章不会使此要求过时。
猜你喜欢
  • 2019-06-06
  • 2014-10-26
  • 2023-04-06
  • 1970-01-01
  • 1970-01-01
  • 2021-05-19
  • 2019-07-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多