从PHP页面上的jQuery AJAX调用获取JSON数据

时间:2009-12-31 08:41:40

标签: php jquery ajax json

我想使用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正在显示nullprint_r($_REQUEST)仅显示action = SomeAction ..

如何在PHP页面上检索发布的数据?

3 个答案:

答案 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'];