在Express中从AngularJS $ http POST获取JSON

时间:2019-02-13 03:43:59

标签: javascript angularjs json http express

在我的有角度的客户端应用中:

myApp.controller('MainCtrl', function($scope,$http) {
$http.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=utf-8';

$scope.f_test09 = function()
    {
        var object = {"Title": $scope.title ,"Rank": $scope.rank};
        console.log(object);

        $http.post("http://localhost:3000/test09",object).then(function(response){});
    }    

在我的快速服务器应用中:

app.use(bodyParser.urlencoded({extended: true}));

app.post('/test09', (req, res) => 
    {
    console.log(req.body)
    }

在浏览器控制台中,数据如下所示:

{标题:“无论如何”,排名:“ 42”}

但是在服务器控制台中,req.body看起来像这样:

{'{“ Title”:“ whatever”,“ Rank”:“ 42”}':''}

我发现,如果没有客户端应用程序第2行上的$ http.defualts / urlencoded分配,则不会有任何数据传递到服务器,但是我对JSON的理解和词汇仅限于此。

我缺少什么/做错了什么,如何使来自发布的数据看起来像我传递给发布客户端的普通json对象?

谢谢!

0 个答案:

没有答案