使用 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
:-)
我有一些 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
:-)