PHP-AJAX; POST METHOD问题

时间:2011-01-12 08:53:00

标签: php post

我在我的应用程序中使用ajax,php。 在将数据从ajax发送到php时,当我使用$ _GET时,我可以拥有数据。 但是当我尝试使用$ _POST因为我读它更安全,它无法访问数据。 当我回显价值时,它是空白的。

我尝试将register_globals = off更改为on php.ini,但仍然没有工作。

我错过了什么吗?

这是我的js文件:

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文件

<?php
$selectedID = $_POST['params'];
echo "hello there ". $selectedID;
?>

非常感谢, tinks

2 个答案:

答案 0 :(得分:2)

我没有看到您为正在发布的数据指定密钥,这是您的PHP脚本正在寻找的内容。

尝试将ajaxRequest.send(params);更改为ajaxRequest.send("params=" + params);

答案 1 :(得分:0)

是的,你需要指定一个密钥。此链接上的post方法可能会有所帮助:

http://www.openjs.com/articles/ajax_xmlhttp_using_post.php