使用 JavaScript 和 REST 从 SharePoint 列表中删除项目

Delete item from SharePoint List using JavaScript and REST

我有一些 JavaScript(位于 /SiteAssets 库中的物理文件)应该删除 SharePoint 列表中的项目。

我们有现有的 JavaScript 代码可以从列表中检索数据 - 它看起来像这样:

(请注意,由于 JavaScript 在当前用户上下文中的 PDP 上运行,因此我们不需要针对请求的特定访问令牌)

var data = $.ajax({
    url: projSiteUrl + "/_api/lists/getbytitle('<listname>')/items,
    type: "GET",
    dataType: "json",
    async: false,
    headers: {
        Accept: "application/json;odata=verbose"  
    }       
});

所以我想我可以编写类似的代码来再次从列表中删除一个项目。我在 https://msdn.microsoft.com/en-us/library/office/jj164022.aspx#HTTPOps 上读到 SharePoint 的 REST 端点支持 "normal" REST 动词,所以我使用 DELETE HTTP 动词写了这篇文章。

var restUrl = spSiteUrl + '/_api/web/lists/GetByTitle(\'' + listTitle + '\')/items(' + itemId + ')';
jQuery.ajax({
    url: restUrl,
    type: "DELETE",
    headers: {
        Accept: "application/json;odata=verbose"  
    }       
})

但是我在请求时收到 403 (FORBIDDEN)

我想问题是:我假设支持 DELETE 动词是不是错了?

谢谢 :-)

好的,显然我 在进行修改时需要摘要 - 但不是为了简单的数据检索。

如果我将代码更改为

jQuery.ajax({
    url: restUrl,
    type: "DELETE",
    headers: {
        Accept: "application/json;odata=verbose",
        "X-RequestDigest": $("#__REQUESTDIGEST").val(),
        "IF-MATCH": "*"
    }       
}).

... 它使用简单的 AJAX 请求使用 REST HTTP 动词 DELETE :-)