Man*_*uel 5 javascript rest sharepoint sharepoint-2013
我正在创建一个Sharepoint应用程序,我只能使用Javascript(包含jQuery)和REST端点.我想使用网络应用程序从主机删除一个项目,但我收到一个错误(403: FORBIDDEN).这是我到目前为止的代码:
executor = new SP.RequestExecutor(appweburl);
executor.executeAsync({
url: appweburl + "/_api/SP.AppContextSite(@target)/web/lists/getbytitle('" + currentListTitle + "')/items(" + result.Id + ")/?@target='" + hostweburl + "'",
method: "POST",
headers: {
"accept": "application/json",
"X-RequestDigest": ?????
"IF-MATCH": "*",
"X-HTTP-Method": "DELETE"
},
success: onDeleteItemSuccess,
error: onDeleteItemFail
});
Run Code Online (Sandbox Code Playgroud)
现在我发现这X-RequestDigest是强制性的,我发现了一些从REST获得这个的调用:
$.ajax({
url: appweburl + "/_api/SP.AppContextSite(@target)/contextinfo/?@target='" + hostweburl + "'",
type: "POST",
contentType: "application/x-www-url-encoded",
dataType: "json",
success: function (data) {
if (data.d)
{
digestValue = data.d.GetContextWebInformation.FormDigestValue;
alert(digestValue);
}
},
error: function (xhr) {
alert(xhr.status + ': ' + xhr.statusText);
}
});
Run Code Online (Sandbox Code Playgroud)
但它根本不起作用(这可能是因为此代码适用于Sharepoint 2010)并且它会继续给我一个403: FORBIDDEN消息.
有谁知道如何使用REST从其中一个列表中删除列表项(我不能使用/编辑javascript之外的任何代码!)?
任何帮助都是适当的,如果您需要任何信息,请不要犹豫.
该代码不能用于 SharePoint 2010,因为 _api 对于 SP 2013 来说是新的。
[更新] 也许您的意思是您的代码可以在 SP 2013 预览版中运行?在 SP2013 RTM 中您需要使用:
"Accept": "application/json; odata=verbose"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6633 次 |
| 最近记录: |