【发布时间】:2016-06-13 08:52:52
【问题描述】:
我正在尝试使用 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>
尽管添加了标头,但我在控制台中收到了 Cross-Origin Request Blocked: 错误,当我尝试在控制台中打印 xhr.status 时,它显示 0 作为响应。 我正在使用烧瓶服务器,它在使用 https 时显示错误消息错误,所以我正在使用 http 请求。
【问题讨论】:
-
运行此脚本的页面是否也在
http://localhost:5000/上托管? -
不,它是一个单独的 HTML 文件,我想通过它发送 HTTP 请求。
-
这就是问题所在,了解一下它被阻止的原因,也许是here。您不能在客户端设置
Access-Control-Allow-Origin标头。这需要在服务器上设置,即服务器应该允许您连接到其他域。
标签: javascript http https flask