douquejituan938904 2015-10-05 14:40
浏览 39
已采纳

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

I'm having trouble retreaving or sending data with POST using PHP and angular. I reduced my problem to the easiest case but still the response is an empty array.

Here is my Angular code

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);
    });
}

and my PHP code:

<?php

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

echo json_encode($_POST) ;

?>

The funny thing is that using GET in both places, it works :/

  • 写回答

1条回答 默认 最新

  • drn9573 2015-10-05 14:46
    关注

    Angular serializes js objects into JSON to POST, php does not populate the $_POST data structure from a JSON post body, to ge the json data in the post body you'll have to read from php://input

    <?php
    
    header('Content-type: application/json');
    
    echo file_get_contents('php://input') ;
    
    ?>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?