Ajax将空数组发送到php文件

时间:2014-06-19 22:53:51

标签: php ajax google-api-php-client

我试图让Google API正常运行,并且我通过AJAX向PHP发送数组,但在我的PHP文件中,数组是空的。这是我到目前为止所得到的。

$.ajax({
    type: 'POST',
    url: '../scripts/email/google.php?storeToken&state',
    data: {param : param},
    success: function(result) {
        console.log(result);
    },
    processData: false
});

然后在我的google.php文件中使用

$code = explode(",",file_get_contents('php://input'));

但是当我使用

时,$ code是空的
var_dump($_POST);

它打印到控制台

Array(0){
}

我已经搜索了这个问题,并尝试了无数的修复问题"但似乎没有任何工作:/

编辑:除了使用AJAX之外,还有另一种方法可以在php文件中获取Code和我的状态变量,因为似乎无法正常工作

Error_log (print_r ($_POST,1));

将预期值打印到错误日志

2 个答案:

答案 0 :(得分:1)

最后通过将我的代码更改为以下

解决了这个问题
var params = 
{ 
'authResult': authResult['code'],
'state':state
}

$.ajax({
    type: 'POST',
    url: '../scripts/email/google.php?storeToken&state/',
    data: params
    success: function(result) {
        console.log(result);
    },
    processData: true
  });

然后在php文件中以下列方式访问它

$authResult = $_POST['authResult'];
$state = $_POST['state'];

答案 1 :(得分:0)

尝试使用JSON.stringify功能,如:

$.ajax({ 
     type: 'POST',
     url: '../scripts/emailgoogle.php?storeToken&state',                                          
     data       : {'mydata':JSON.stringify(param)},
     success: function(result) {
         console.log(result);
     }
   });

在服务器端PHP文件:

$data = file_get_contents('php://input');
$data = json_decode($data, true);
var_dump($data);

$post_data = $_POST;
var_dump($post_data);