我想使用jQuery Ajax API发送数据:
var myData = {"param1" : $('#txtParam1').val(), "param2" : $('#txtParam2').val()};
$.ajax({
url: 'DataService.php?action=SomeAction',
type: 'POST',
data: myData,
dataType: 'json',
contentType: "application/json; charset=utf-8",
success: function(result) {
alert(result.Result);}
});
当我尝试使用
使用PHP检索此数据时 $param1 = $_REQUEST['param1'];
$param1
正在显示null
而print_r($_REQUEST)
仅显示action = SomeAction ..
如何在PHP页面上检索发布的数据?
答案 0 :(得分:3)
由于您要将ajax作为" contentType:' application / json'"发送,您需要使用php://input获取请求正文,如下所示:
$request = file_get_contents("php://input"); // gets the raw data
$params = json_decode($request,true); // true for return as array
print_r($params);
答案 1 :(得分:2)
试试这个:
$params = json_decode( $_POST['param1']);
然后检查你得到了什么:
var_export( $params);
或者您可以使用foreach
循环:
foreach( $params as $param)
{
echo $param . '<br />';
}
你正在使用POST,方法,不要使用REQUEST,因为它也不太安全。
答案 2 :(得分:0)
尝试使用
$param1 = $_POST['param1'];