当前位置: 首页 > 知识库问答 >
问题:

在“...”访问XMLHttpRequest从原点' http://... '已被CORS政策所阻止

慕容玉堂
2023-03-14

所以我的问题是:

每当我尝试从我的网页(同一台机器,不同的端口)向我的HTTP服务器发出XMLHttpRequest时,我都会被此错误阻止:

Access to XMLHttpRequest at 'localhost:8081' from origin 'http://localhost:8080' has been blocked by CORS policy:
Cross-origin requests are only supported for protocol schemes: HTTP, data, chrome, chrome-extension, brave, chrome-untrusted, HTTPS.

为什么会发生这种情况?

示例客户端(浏览器):

var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
    // Use data...
};
xhttp.open("GET", "localhost:8081", true);
xhttp.send();

示例服务器(NodeJS、HTTP库):

const server = http.createServer((req, res) => {
  if(req.url != '/') return res.end('404');
  res.writeHead(200, {
    'Content-Type': 'text/html'
  })

  const json = {
    // Data...
  }

  res.write(JSON.stringify(json))
  res.end()
});

server.listen(8081)

已解决,感谢Quentin的评论:D

共有1个答案

柴俊捷
2023-03-14

答案就在这里。

这是浏览器隐私的问题,有两种方法可以解决它:

  1. 允许来自浏览器上任何位置的请求
  2. 将控制器放入收割台访问控制信息中

整个答案在上面的链接上

 类似资料: