Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/422.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript CORS请求:如果状态为0,如何读取服务器响应_Javascript_Cors - Fatal编程技术网

Javascript CORS请求:如果状态为0,如何读取服务器响应

Javascript CORS请求:如果状态为0,如何读取服务器响应,javascript,cors,Javascript,Cors,我使用以下代码通过Javascript向服务器执行请求: <script> (function() { function createCORSRequest(method, url) { var xhr = new XMLHttpRequest(); if ("withCredentials" in xhr) { xhr.open(method, url, true);

我使用以下代码通过Javascript向服务器执行请求:

<script>
    (function() {
        function createCORSRequest(method, url) {
            var xhr = new XMLHttpRequest();
            if ("withCredentials" in xhr) {
                xhr.open(method, url, true);
            } else if (typeof XDomainRequest != "undefined") {
                xhr = new XDomainRequest();
                xhr.open(method, url);
            } else {
                xhr = null;
            }
            return xhr;
        }
        var request = createCORSRequest("get", "http://remoteurltobecalled");
        if (request) {
            request.onload = function () {
                if (request.readyState == request.DONE) {
                    if (request.status == 200) {
                        var text = request.responseText;
                        alert(text);
                    }
                } 
            }

            request.onerror = function () {
                alert('status:'+request.status);
                alert('statusText: '+request.statusText);
                alert('responseText: ' + request.responseText);
                alert('responseBody: ' + request.responseBody);
                alert('Woops, there was an error making the request.');
            };

            var response=request.send();
        }
    })();
</script>
然后是反应的主体


无论如何,javascript代码中的响应是一个错误,状态为0,responseText和ResponseBy为空。如何获得服务器提供的完整响应?这是CORS问题吗?

如果远程资源不支持CORS,则不可能。在提出此类问题之前,请尝试阅读。您是对的:“访问控制允许来源”标题必须包含在所有有效的CORS响应中;省略标头将导致CORS请求失败。因此,我希望服务器的响应会出现错误,而提供的响应是200 OK和完整响应。也许我误导了这一部分。因此,我希望服务器的响应会出现错误。那是错误的。由于CORS问题,服务器无法响应错误。CORS完全由客户(浏览器)负责。服务器不关心CORS,只关心传递各自的头。如果远程资源不支持CORS,则不可能。在提出此类问题之前,请尝试阅读。您是对的:“访问控制允许来源”标题必须包含在所有有效的CORS响应中;省略标头将导致CORS请求失败。因此,我希望服务器的响应会出现错误,而提供的响应是200 OK和完整响应。也许我误导了这一部分。因此,我希望服务器的响应会出现错误。那是错误的。由于CORS问题,服务器无法响应错误。CORS完全由客户(浏览器)负责。服务器不关心COR,只关心传递各自的头。
HTTP/1.1 200 OK
Date: Wed, 21 Jun 2017 09:20:55 GMT
Server: Apache/2.4.7 (Ubuntu)
Set-Cookie: JSESSIONID=9A78296BD30D8AA45C1B4DF467118309; Path=/PATHREQUESTED
Vary: Accept-Encoding
Content-Length: 19982
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html;charset=ISO-8859-1