如何使用php从angular ajax获取POST数据

时间:2015-10-05 14:40:37

标签: php ajax angularjs

我无法使用PHP和角度进行后退或使用POST发送数据。我将问题简化为最简单的情况但仍然是响应是一个空数组。

这是我的角色代码

this.search = function(){
    console.log("searching");
    $http({
        method: 'POST',
        url: 'search/',
        data: {search:1, direct: true}
    }).then(function successCallback(response) {
        console.log(response.data);
    }, function errorCallback(response) {
        console.log("Error retreaving data.");
        console.log(response);
    });
}

和我的PHP代码:

<?php

header('Content-type: application/json');

echo json_encode($_POST) ;

?>

有趣的是,在两个地方都使用GET,它的工作原理是:/

1 个答案:

答案 0 :(得分:3)

Angular将js对象序列化为JSON到POST,php不会从JSON帖子正文填充$ _POST数据结构,以及你必须从php://input读取的帖子正文中的json数据

<?php

header('Content-type: application/json');

echo file_get_contents('php://input') ;

?>