搜索

首页  >  问答  >  正文

javascript - 本地ajax请求XMLHttpRequest的status值在chrome中为0,在firefox中为200,为什么?

<!DOCTYPE html>
<html>
<head>

<meta charset="utf-8">
<title>repeat</title>

</head>
<body>

<p>it seemed that the first Ajax should be vary easy!</p>
<p id="recieved"></p>
<input type="button" value="提交" onclick="getNewContent();">
<script>
    var request = false;
    try{
        request = new XMLHttpRequest();
    }catch(trymicrosoft){
        try{
            request = new ActiveXObject("Msxml2.XMLHTTP.6.0");
        }catch(earlier){
            try{
                request = new ActiveXObject("Msxml2.XMLHTTP.3.0");
            }catch(moreearlier){
                try{
                    request = new ActiveXObject("Msxml2.XMLHTTP");
                }catch(failed){
                    request = false;
                }
            }
        }
    }
    if (!request) alert("no Ajax here");
    function getNewContent(){
        if (request) {
            request.open("GET","target.xml",true);
            request.onreadystatechange = hhh;
            request.send(null);
        }            
    }
    function hhh() {
        if (request.readyState == 4) {
                //alert(request.status);
                console.log(request.status);
                var recievedText = document.getElementById('recieved');
                var responceT =document.createTextNode(request.responseText);
                recievedText.appendChild(responceT);
            
        }
    }
</script>

</body>
</html>

console.log(request.status)的结果分别如下:
firefox:

chrome:

请问为什么会有两种不同的status状态?如果用web上的服务器是不是不会出现这种差别?

天蓬老师天蓬老师2792 天前512

全部回复(2)我来回复

  • 淡淡烟草味

    淡淡烟草味2017-05-19 10:36:56

    此博客有详细的介绍

    http://blog.csdn.net/iaiti/ar...

    回复
    0
  • 我想大声告诉你

    我想大声告诉你2017-05-19 10:36:56

    ajax本来就是为了在服务器用。在本地应该就不可以用。具体的东西。你可以用chrome打开network 和 FF打开网络查看

    回复
    0
  • 取消回复