XMLHttpRequest().status = 3;
  请问各路高手 是什么问题出现3 而不是 200 ,3代表什么意思??

解决方案 »

  1.   

    status 不可能等于3吧, 状态都是三位的.
    具体见
    http://www.w3.org/Protocols/rfc2616/rfc2616-sec6.html#sec6.1.1
    你说的是readyState (HTTP 请求的状态)
    0      Uninitialized       初始化状态。XMLHttpRequest 对象已创建(未调用open()之前)或已被 abort() 方法重置。 
    1      Open           open() 方法已调用,但是 send() 方法未调用。请求还没有被发送。 
    2      Sent            Send() 方法已调用,HTTP 请求已发送到 Web 服务器。未接收到响应。 
    3      Receiving      所有响应头部都已经接收到。响应体开始接收但未完成。 
    4      Loaded         HTTP 响应已经完全接收。 
      

  2.   

    <html>
    <head>
    <title>Ajax</title>
    </head>
    <body>
       <p><img src="breakneck-logo_4c.gif" alt="Break Neck Pizza" /></p>
      <form action="POST">
       <p>Enter your phone number:
        <input type="text" size="14" name="phone" id="phone" 
               onChange="getCustomerInfo();" />
       </p>
       <p>Your order will be delivered to:</p>
       <div id="address"></div>
       <p>Type your order in here:</p>
       <p><textarea name="order" rows="6" cols="50" id="order"></textarea></p>
       <p><input type="submit" value="Order Pizza" id="submit" /></p>
      </form>
       
    <script language="javascript" type="text/javascript">
       var request = false;
       try {
         request = new XMLHttpRequest();
       } catch (trymicrosoft) {
         try {
           request = new ActiveXObject("Msxml2.XMLHTTP");
         } catch (othermicrosoft) {
           try {
             request = new ActiveXObject("Microsoft.XMLHTTP");
           } catch (failed) {
             request = false;
           }  
         }
       }   if (!request)
         alert("Error initializing XMLHttpRequest!");   function getCustomerInfo() {
         var phone = document.getElementById("phone").value; 
         var url = "/cgi-local/lookupCustomer.php?phone=" + escape(phone);
         request.open("GET", url, true);     request.onreadystatechange = updatePage;
         request.send(null);
       }   function updatePage() {
         if (request.readyState == 4) {
           if (request.status == 200) {
             var response = request.responseText.split("|");
             document.getElementById("order").value = response[0];
             document.getElementById("address").innerHTML =
               response[1].replace(/\n/g, "");
           } else
             alert("status is " + request.status);
         }
       }</script>
    </body></html>
    .................................. 运行的结果是   status is 3 
      

  3.   

    有可能是300,显示成3了.
    300表示户请求的文档可以在多个位置找到,这些位置已经在返回的文档内列出。如果服务器要提出优先选择,则应该在Location应答头指明。 
      

  4.   

    查看apache日志.看看返回的状态码是多少?