最近,需要在SharePoint上传文件到文档库,但是,上传的过程报错了。

错误代码
{
"error": {
"code": "-2130575251, ..SPException",
"message": {
"lang": "en-US",
"value": "The security validation for this page is invalid and might be corrupted. Please use your web browser’s Back button to try your operation again."
}
}
}

操作就是调用SharePoint Plus 添加文档

https://aymkdn.github.io/SharepointPlus/files.html#createFile

有兴趣的可以看一下这个插件,本来以为是插件的问题,后来发现并不是。

发现插件在执行这个方法的时候,其实是Call REST Service。

然后,调用了REST API上传,也是报一样的错误。

后来发现,是Request Digest token需要刷新一下:


复制代码
$.ajax({
url: _spPageContextInfo.webAbsoluteUrl + "/_/contextinfo",
method: "POST",
headers: { "Accept": "application/json; odata=verbose"},
success: function (data) {
$(‘#__REQUESTDIGEST’).val(data.d.GetContextWebInformation.FormDigestValue)
},
error: function (data, errorCode, errorMessage) {
alert(errorMessage)
}
});

复制代码

执行完上面的代码以后,就可以正常上传文件了。完事儿以后,有想了想为什么,可能是因为根网站集调用同web application下其他网站集吧。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注