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

标签 javascript rest odata sharepoint-online

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

我们现有的 JavaScript 代码可以从列表中检索数据 - 如下所示:

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

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 端点支持“正常”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": "*"
    }       
}).

...它可以使用 REST HTTP 动词来处理简单的 AJAX 请求 DELETE :-)

关于javascript - 使用 JavaScript 和 REST 从 SharePoint 列表中删除项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35195340/

相关文章:

javascript - 在 if 条件下延迟 jquery animate

javascript - 如何比较twig值和JS值?

java - Restful 服务命名约定?

java - 如何管理具有其他相关实体的实体的 API 端点?

wcf - OData $format 系统查询选项导致错误请求 400

odata - 在 asp.net web api OdataController 中删除 Odata.metadata

javascript - 如何在没有 SSL/TLS 的情况下在客户端加密数据并在另一个客户端解密?

javascript - Angular 2 如何使用嵌套组件

json - 使用 Spring MVC RESTful Web 服务的 Angularjs

java - 是否可以放弃 Olingo EntityType 的关键属性