Javascript $http angularjs POST don';你不发送我的数据吗?
我的angularjsJavascript $http angularjs POST don';你不发送我的数据吗?,javascript,ajax,angularjs,Javascript,Ajax,Angularjs,我的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。我确实e
$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。我确实echo$\u POST['userId']它返回了未定义的索引。我还尝试了
数据:'userId':'1'
Angular以JSON的形式发送数据,而不是形成编码的键/值对,因此您可以将数据设置为对象。在第二次尝试时,您几乎已经拥有了它,但您需要包括花括号,它定义了一个对象:
data: { 'userId' : userId }
现在,在PHP端,您需要访问原始POST数据来解码JSON,如下所示:
$data = json_decode(file_get_contents('php://input'));
echo $data->userId;
您是否尝试过数据:{'userId':'1'}
?@SubirKumarSao是的,不工作$http
将数据作为JSON发送,这就是为什么PHP的$\u POST
中没有任何内容。这里有很多类似的问题。可能是重复的。我知道它有一个CodeIgniter标签,但它是无关的。我似乎仍然没有传递数据。还是有同样的错误,你试过了吗?因为上次我检查时,$http
默认情况下会以JSON的形式发送数据,所以在PHP的$\u POST
变量中找不到任何内容。@ExpertSystem如此?刚才我使用了params:{'userId','1'},它工作了,但它是$\u GET;我需要$\u post查看我的评论。@user3522457查看更新的答案。ExpertSystem对JSON的理解是正确的,因此您需要在PHP端以不同的方式访问它。