Post 带有XMLHttpRequest的Https请求
我可以使用XMLHttpRequest执行Http请求(POST/GET) 我在问如何使用URL进行请求,如“https://www.gmail.com" 我正在尝试类似的操作,但状态代码为0Post 带有XMLHttpRequest的Https请求,post,https,get,xmlhttprequest,Post,Https,Get,Xmlhttprequest,我可以使用XMLHttpRequest执行Http请求(POST/GET) 我在问如何使用URL进行请求,如“https://www.gmail.com" 我正在尝试类似的操作,但状态代码为0 var http = new XMLHttpRequest(); var url = "https://www.gmail.com"; http.open("GET", url); http.onreadystatechange = function() {//Call a fu
var http = new XMLHttpRequest();
var url = "https://www.gmail.com";
http.open("GET", url);
http.onreadystatechange = function() {//Call a function when the state changes.
if(http.readyState == 4 && http.status == 200) {
//alert(http.responseText);
print("ok")
}else{
print("cannot connect")
print("code:" + http.status)
print(http.responseText)
}
}
http.send(null);
我总是得到“无法连接”“代码”0和无响应
有什么想法吗?这将失败,原因有两个: 1) “url”https://www.gmail.com“实际上试图将您重定向到”https://mail.google.com/mail/,这将尝试将您重定向到登录页面。此重定向未被列为错误
2) 然而,更重要的是,不能对不同的域进行XMLHttpRequests,除非该域支持CORS(http://www.html5rocks.com/en/tutorials/cors/). GMail不支持CORS,因此此请求将不起作用。基本上,我只对一个网站进行请求。。gmail.com就是一个例子。。还是不可能吗?是的,由于浏览器的同源策略,您不能使用标准XHR从一个域向另一个域发出请求。请注意,您可以使用其他机制,如JSON-P或CORS,但这些技术要求服务器以特定格式输出响应。