$ http.get有效,$ http.post没有

时间:2015-07-28 06:12:12

标签: ajax angularjs http-post

所以,我在控制器中有这个非常简单的代码段,我使用$http.get从外部文件中获取数据,并且效果很好!但是当我使用$http.post时,我的控制台中会出现"syntaxerror: unexpected token < at object.parse(native)"

我在下面列出了两个版本,其中有$http.get注释。

var blogCtrl = angular.module('blogCtrl', []);

blogCtrl.controller('articleCtrl', ['$scope', '$routeParams', '$http',
function($scope, $routeParams, $http) {
    //$http.get('/angular_blog/assets/php/ajaxRequests.php?action=fetchSingleArticle&permalink='+$routeParams.articlePermaLink)
    $http.post('/angular_blog/assets/php/ajaxRequests.php', {action: 'fetchSingleArticle', permalink: $routeParams.articlePermaLink})
    .success(function(data) {
        $scope.articleTitle = data.articleTitle;
        $scope.articleAuthor = data.articleAuthor;
        $scope.articleContent = data.articleContent;
        $scope.publishDate = data.publishDate;
        $scope.category = data.category;
        $scope.categoryPermaLink = data.categoryPermaLink;
    });
}]);

我已经尝试了this question中的建议,但结果相同。

1 个答案:

答案 0 :(得分:0)

我认为最好让我的PHP文件理解json post请求,所以不要试图用$ _POST ['string']来获取字符串,请执行以下操作:

$obj = json_decode(file_get_contents('php://input'));

然后当我想要使用请求中的字符串时:

$obj->{'string'}