使用JavaScript发送HTTP请求并接收HTTP响应

6

我想像发送简单请求一样发送HTTP请求,例如 "http://google.com/" 并在屏幕上打印HTTP响应头。如何实现呢? 我需要基础代码,以便我可以使用它来发送更复杂的GET和POST请求。

<html>
<body>

<script type="text/javascript">
function sendgetreq()
{
    var req = new XMLHttpRequest();
    req.open('GET', "https://www.google.com/search?q=asd", true);
    req.send(null);
    var headers = req.getAllResponseHeaders().toLowerCase();
    //document.write("Headers are:"+headers);
    alert(headers);
}
</script>
<INPUT TYPE=BUTTON OnClick="sendgetreq();" VALUE="Send Request">

</body>
</html>

这显示了一个空的弹出框。

https://dev59.com/EHVC5IYBdhLWcg3wqzHV - Ajeet Sinha
http://www.w3schools.com/dom/tryit.asp?filename=try_dom_xmlhttprequest_first - Shashank
感谢@Ajeet的快速回复。我已经尝试了两种方法,但它们对我都不起作用。请查看我现在发布的代码。 - Sonia Sharma
我发布的链接只能获取您自己域名的标头,因为外部域将受到跨域限制。 - Ajeet Sinha
@Ajeet:但我想向google.com发送GET请求并获取响应头。 - Sonia Sharma
该内容与同源策略有关,受到其限制。详情请参见:http://zh.wikipedia.org/wiki/同源策略。 - Ajeet Sinha
1个回答

0

如果未经请求的服务器明确允许,您将无法跨域使用XMLHttpRequest,而google.com并没有明确允许。 但是,您可以禁用浏览器的Web安全功能,然后您的相同代码将开始工作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接