如何解决HTTP GET请求被阻止
我正在使用本地服务器创建一个简单的网站,但是每当我发送GET请求时,该请求就会不断被阻止。我目前正在使用Firefox,但在Chrome上运行时遇到相同的问题,因此我认为这不是浏览器问题。
就我的设置而言,我是在本地托管我的网页,还有一台单独的服务器,用于托管我要访问的各种不同文件(图像,视频,文本文件等)。目前,我有一个非常简单的html文件,其中包含一个按钮,该按钮触发了http GET请求,但是由于某种原因,该请求一直被阻止。
仅当我将get请求发送到当前连接的同一服务器时,请求才会成功。就是说,如果我使用http:// localhost访问我的网页,并将get请求发送到http://192.168.1.85/blah,它将被阻止,但是如果我将http请求发送到http:// localhost / blah,它将被阻止。经历。
此外,如果我检查网络流量,如果我右键单击被阻止的请求并选择“重新发送”,则可以正常进行。我没有启用请求阻止(并且我没有创建请求阻止规则),所以这不应该成为问题。我看到的另一件奇怪的事情是,如果我单击被阻止的请求,则服务器将被命中并发送响应代码为200的响应,据服务器所知,没有错。它只是在Web浏览器中被阻止。
有人知道这是怎么回事,或者我可以做些什么来解决这个问题?
随附的照片是我的网络检查的图片以及我用来生成结果的html文件。
<html>
<head>
<script>
function getCookie(cname)
{
var name = cname + "=";
var decodedCookie = decodeURIComponent(document.cookie);
var ca = decodedCookie.split(';');
for(var i = 0; i < ca.length; i++)
{
var c = ca[i];
while (c.charAt(0) == ' ')
{
c = c.substring(1);
}
if (c.indexOf(name) == 0)
{
return c.substring(name.length,c.length);
}
}
return "";
}
function setCookie(cname,cvalue,exdays)
{
document.cookie = cname + "=" + cvalue + ";path=/";
}
function signIn()
{
var xmlHttp = new XMLHttpRequest();
xmlHttp.onreadystatechange = function()
{
if(xmlHttp.readyState == 4)
{
//This code only gets hit if I remove the conditional to check for a 200 status code
//But doing that causes my response headers to be empty
alert(xmlHttp.getAllResponseHeaders());
}
}
xmlHttp.open("GET","http://localhost:52580",false);
xmlHttp.send(null);
}
</script>
</head>
<body>
<button onclick="signIn()">Click Me</button>
</body>
解决方法
可能应该让服务器响应CORS?这将是在服务器/后端级别控制CORS的最佳选择。
Access-Control-Allow-Origin: *
或者尝试使用此Chrome插件? https://chrome.google.com/webstore/detail/allow-cors-access-control/lhobafahddgcelffkeicbaginigeejlf?hl=en
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。