在javascript中获取服务器的响应

时间:2012-02-20 14:54:17

标签: javascript

如何从JavaScript获取服务器的响应?这是我的示例代码:

function get_Image(values) {
    if (window.XMLHttpRequest) {
        var http_request = new XMLHttpRequest();
    } else if (window.ActiveXObject) {
        var http_request = new ActiveXObject("Microsoft.XMLHTTP");
    } else {
        http_request.open("GET", "http://sample_address_for_server", true);
        http_request.send();
    }
    alert(http_request.status);
    if (http_request.readyState == 4) {
        if (http_request.status == 200) {
            xmlDoc = http_request.responseText;
            alert(xmlDoc);
        }
    }
}

2 个答案:

答案 0 :(得分:0)

尝试使用此块..代码的问题在于您在创建开放式连接时错过了引用

function get_Image(values){ 

      var http_request = false;
      if (window.XMLHttpRequest) {
        http_request = new XMLHttpRequest()
      } else {
        if (window.ActiveXObject) {
          try {
            http_request = new ActiveXObject("MSXML2.XMLHTTP")
          } catch () {
            try {
              http_request = new ActiveXObject("Microsoft.XMLHTTP")
            } catch () {}
          }
        } else {
          return false
        }
      }
      http_request.onreadystatechange = function () {

       alert(http_request.status);    
          if ( http_request.readyState == 4 ) {    
         if ( http_request.status == 200 ) {    
        xmlDoc = http_request.responseText;    
            alert(xmlDoc);   
    }}
      };
     http_request.open( "GET", "http://sample_address_for_server", true);
        http_request.send(null);   
    }

答案 1 :(得分:-1)

你必须将一个函数附加到对象的onreadystatechange事件。你正在做的事情,你发送请求后,你正试图立即得到答复,你还没有任何回应。

function get_Image(values) {
    if (window.XMLHttpRequest) {
        var http_request = new XMLHttpRequest();
    } else if (window.ActiveXObject) {
        var http_request = new ActiveXObject("Microsoft.XMLHTTP");
    } else {
        http_request.open("GET", "http://sample_address_for_server", true);
        http_request.send();
    }
    alert(http_request.status);
    http_request.onreadystatechange = function(){
       if (http_request.readyState == 4) {
           if (http_request.status == 200) {
               xmlDoc = http_request.responseText;
               alert(xmlDoc);
           }
       }
    }
}