Windows 7小工具,http req。 GET vz。 POST

时间:2015-02-25 17:26:38

标签: javascript php ajax windows-7

我正在为我们的内部网开发一个小工具,我在我们的服务器上有一个小的php文件,只是为了第一次测试。现在,如果我使用GET请求,一切正常,但我想使用POST来获取URL中的所有数据。不幸的是,我无法通过POST请求获取任何数据。

使用GET的工作解决方案:

  function ajax_getData() {   
    var error = false;
    ajax = new ActiveXObject("Msxml2.XMLHTTP");   
    ajax.open("GET", "http://server.com/index.php" + "?update&login=" + g_LOGIN + "&pass=" + g_PASS, true);
    ajax.onreadystatechange = function() { 
      if (ajax.readyState === 4) {
        if (ajax.status === 200) {   
          try {     
            $('#div0').html(ajax.responseText); 
            // do something     
          } catch (e) {  
            error = true; 
          }
        } else {
          error = true; 
        }
      } else {
      }       
      if (error) {      
        // handle error
      }  
    };  
    ajax.send(null);  
  }

的index.php

echo(var_dump($_POST));

现在,我没有工作的POST解决方案:

 function ajax_getData() {   
    var error = false;
    ajax = new ActiveXObject("Msxml2.XMLHTTP");   
    ajax.open("POST", "http://server.com/index.php", false); 
    //ajax.open("POST", "http://server.com/index.php", true); 
    ajax.send("update&login=" + g_LOGIN + "&pass=" + g_PASS);
    ajax.onreadystatechange = function() { 
      if (ajax.readyState === 4) {
        if (ajax.status === 200) {   
          try {     
            $('#div0').html(ajax.responseText); 
            // do something     
          } catch (e) {  
            error = true; 
          }
        } else {
          error = true; 
        }
      } else {
      }       
      if (error) {      
        // handle error
      }  
    };  
    ajax.send(null);  
  }

如果POST解决方案我总是只从index.php获得'数组(0)'。

1 个答案:

答案 0 :(得分:0)

如何使用新的XMLHttpRequest()而不是新的ActiveXObject(“Msxml2.XMLHTTP”);

来自http://www.w3schools.com/ajax/ajax_xmlhttprequest_create.asp

所有现代浏览器(IE7 +,Firefox,Chrome,Safari和Opera)都有内置的XMLHttpRequest对象。

创建XMLHttpRequest对象的语法:

variable=new XMLHttpRequest();

旧版本的Internet Explorer(IE5和IE6)使用ActiveX对象:

variable=new ActiveXObject("Microsoft.XMLHTTP");