跨源请求被阻止:在javascript中使用XMLHttpRequest

跨源请求被阻止:在javascript中使用XMLHttpRequest,javascript,http,https,flask,Javascript,Http,Https,Flask,我试图使用XMLHttpRequest在javascript中发送HTTP请求,因此我在HTML文件中使用以下代码。我让服务器运行,它返回一个{'test':'string'形式的字典 <script type="text/javascript"> var xhr = new XMLHttpRequest(); xhr.open("GET", "http://localhost:5000/test", true); xhr.

我试图使用XMLHttpRequest在javascript中发送HTTP请求,因此我在HTML文件中使用以下代码。我让服务器运行,它返回一个{'test':'string'形式的字典

      <script type="text/javascript">
        var xhr = new XMLHttpRequest();
        xhr.open("GET", "http://localhost:5000/test", true);
        xhr.setRequestHeader("Access-Control-Allow-Origin", "*");
        xhr.send();

        xhr.onreadystatechange = processRequest;
        console.log(xhr.status)

        function processRequest(e)
        {
            if (xhr.readyState == 4)
            {
                alert(xhr.responseText);
            }
        }
      </script>

var xhr=new XMLHttpRequest();
xhr.open(“GET”http://localhost:5000/test“,对);
setRequestHeader(“访问控制允许来源”,“*”);
xhr.send();
xhr.onreadystatechange=processRequest;
console.log(xhr.status)
函数processRequest(e)
{
if(xhr.readyState==4)
{
警报(xhr.responseText);
}
}
然而,尽管添加了标头,但我的跨源请求被阻止:控制台中出现错误,当我尝试在控制台中打印xhr.status时,它将0显示为响应。
我使用的flask服务器在使用https时显示错误消息,因此我使用的是http请求。

您无法从前端控制CORS。您必须将CORS模块放到后端服务器上


检查链接。

是运行此脚本的页面,也位于
http://localhost:5000/
?不,这是一个单独的HTML文件,我想通过它发送一个HTTP请求。这就是问题所在,请阅读它被阻止的原因。您不能在客户端设置
访问控制允许原点
标题。这需要在服务器上设置,即服务器应允许您连接到其他域。