Https request with XMLHttpRequest

旧街凉风 提交于 2019-12-06 03:31:31

问题


Im able to do Http requests (POST/GET) with XMLHttpRequest.

I'm asking how to do requests with URLs like "https://www.gmail.com" I was trying something like this but the status code is 0

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);

I get always "cannot connect" "code" 0 and nothing as response

Any idea?


回答1:


This is going to fail for two reasons:

1) The url "https://www.gmail.com" actually tries to redirect you to "https://mail.google.com/mail/", which in turn will try to redirect you to a login page. This redirect is not being listed as an error

2) However more importantly, you cannot make XMLHttpRequests to a different domain, unless that domain supports CORS (http://www.html5rocks.com/en/tutorials/cors/). GMail does not support CORS, so this request will not work.



来源:https://stackoverflow.com/questions/8801184/https-request-with-xmlhttprequest

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!