【发布时间】:2021-11-17 12:25:46
【问题描述】:
我正在尝试从 SystemLinkServlet 获取信息。
所以我尝试从 Nintex Forms (Sharepoint) 执行这段 JavaScript 代码:
var http = new XMLHttpRequest();
var url = 'www.exampleservlet.com';
var params = "anyxml"
http.open('POST', url, true)
http.setRequestHeader('Content-type', 'application/xml');
http.setRequestHeader('Access-Control-Allow-Origin', '*');
http.onreadystatechange = function() {
if(http.readyState == 4 && http.status == 200) {
alert(http.responseText);
}
};
http.send(params);
但我的控制台中仍然出现此错误:
Access to XMLHttpRequest at 'www.exampleservlet.com' from origin 'www.exampleorigin.com' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.
似乎是忽略了标头,或者我无法设置多个请求标头?
它适用于 Postman。
更新
所以它与扩展一起工作,但显然,我无法在我的 Nintex 表单中使用 JavaScript 代码设置标题。
我正在尝试在不使用扩展名的情况下传递这些标头。
【问题讨论】:
-
您是否在请求中设置了 CORS 标头?!?!?!这不是它的工作原理; CORS 旨在保护服务器资源免受某种访问,如果允许客户端设置标头,它将完全违背其目的。网络上有很多关于什么是 CORS 的资源,最好从那里开始。
标签: javascript servlets sharepoint