gpt4 book ai didi

javascript - Sharepoint 管理中心 Ajax 发布到 WebMethod 返回 此页面的安全验证无效

转载 作者:行者123 更新时间:2023-12-01 04:03:27 26 4
gpt4 key购买 nike

我使用单个 WebMethod 在 _layouts 文件夹下创建了一个应用程序页面:

    [WebMethod]
public static string TestConnection(string server)
{...}

我通过发布 ajax 请求来调用此方法:

var siteurl = _spPageContextInfo.webAbsoluteUrl;

$.ajax({
type: "POST",
url: siteurl + "/_layouts/...",
data: '{server: "' + server + '"}',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (response) {
alert(response.d);
},
error: function (xhr, textStatus, error) {
alert(error);
}
});

而且运行得很好,但要求发生了变化,所以我不得不将页面的位置从 _layouts 更改为 _admin (中央管理)并将 ajax post url 更新为新的,但现在我收到以下错误:

此页面的安全验证无效。单击 Web 浏览器中的“返回”,刷新页面,然后重试您的操作。

这似乎与安全有关,但我无法弄清楚。

谁能帮忙!

谢谢

最佳答案

经过长时间的调查和阅读文章,我发现有一个叫做SharePoint Form Digest的东西,它负责SharePoint页面的安全验证,你可以在这里阅读更多: http://www.jeanpaulva.com/index.php/2015/05/23/sharepoint-form-digest/

这里: http://blog.repsaj.nl/index.php/2012/06/sp2010-solving-the-mysteries-around-form-digest/

为了使我的请求有效,我必须将“RequestDigest control”的值添加到请求的 header 中,如下所示:

headers: { "Accept": "application/json; odata=verbose",
"X-RequestDigest": $("#__REQUESTDIGEST").val(),
"If-Match": "*"
}

关于javascript - Sharepoint 管理中心 Ajax 发布到 WebMethod 返回 此页面的安全验证无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42001640/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com