您需要向rest-api控制器发送 POST 请求并使用应用程序中的脚本获得响应asp web forms。脚本 :
<script type="text/javascript">
function clientfunction() {
try {
var request = new XMLHttpRequest;
request.onreadystatechenge = function () {
if (request.readyState == 4) {
console.log('.....');
}
else
{
console.log('-----');
}
}
request.open("POST", "https://...", false);
request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
request.setRequestHeader("Access-Control-Allow-Origin", "*");
request.send("post data");
} catch (err) { console.log(err); }
}
</script>
控制台中显示错误:
对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。
奇怪的是,在邮递员中,当指定相同的 url、方法、相同的标头和与请求正文相同的行时,一切都按预期进行 - 请求消失了,我得到了正确的答案。脚本有什么问题还是在浏览器中?
Postman 是一个开发工具,默认情况下它不会检查CORS会发生什么,浏览器已经检查过它。
也许你应该看看
fetch.跨域资源共享 (CORS)
抓取简介
我认为服务器应该处理“Access-Control-Allow-Origin”
我觉得这不是真的??xhr.setRequestHeader("Access-Control-Allow-Origin", "*");
该服务器应该允许您来自另一个域的请求?那些。如果您在 www.qwe.by 上有一个后端,在 www.asd.by 上有一个客户端,那么在没有“Access-Control-Allow”的情况下,服务器不会授予传输文本数据以外的任何内容的权限。也许是这样的?