我正在为我们的内部网开发一个小工具,我在我们的服务器上有一个小的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)'。
答案 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");