$ http angularjs POST不发送我的数据?

时间:2014-04-22 11:54:55

标签: javascript ajax angularjs

my angularjs $http

userId = '1';

$http({
url: "php/loadTab.php",
method: "POST",
data: userId
}).success(function(data, status, headers, config) {
    console.log(data);
}).error(function(data, status, headers, config) {
});
哎呀,POST没有把数据发送到我的php。我回复$ _POST [' userId']它返回了未定义的索引。我也试过data:'userId':'1'

1 个答案:

答案 0 :(得分:2)

Angular将数据作为JSON发送,而不是形成编码的键/值对,因此您可以将data设置为对象。您在第二次尝试时几乎可以使用它,但是您需要包含定义对象的花括号:

data: { 'userId' : userId }

现在,在PHP方面,您需要访问原始POST数据以解码JSON,如下所示:

$data = json_decode(file_get_contents('php://input'));
echo $data->userId;