我在我的应用程序中使用ajax,php。 在将数据从ajax发送到php时,当我使用$ _GET时,我可以拥有数据。 但是当我尝试使用$ _POST因为我读它更安全,它无法访问数据。 当我回显价值时,它是空白的。
我尝试将register_globals = off更改为on php.ini,但仍然没有工作。
我错过了什么吗?
var params=arguments[0].options[arguments[0].selectedIndex].value;
var url = "http://localhost/myprocess.php";
ajaxRequest.open("POST",url, true);
ajaxRequest.setRequestHeader("Content-type","application/x-www-form-urlencoded");
ajaxRequest.setRequestHeader("Content-length",params.length);
ajaxRequest.setRequestHeader("Connection", "close");
ajaxRequest.onreadystatechange = function(){
if ((ajaxRequest.readyState == 4) && (ajaxRequest.status == 200))
{
//Get data from server's response
alert("response text is:");
alert(ajaxRequest.responseText); -->does not show anything; blank
}
}
ajaxRequest.send(params);
}
<?php
$selectedID = $_POST['params'];
echo "hello there ". $selectedID;
?>
非常感谢, tinks
答案 0 :(得分:2)
我没有看到您为正在发布的数据指定密钥,这是您的PHP脚本正在寻找的内容。
尝试将ajaxRequest.send(params);
更改为ajaxRequest.send("params=" + params);
答案 1 :(得分:0)
是的,你需要指定一个密钥。此链接上的post方法可能会有所帮助: