AngularJS request.POST返回QueryDict:{}

时间:2016-06-26 18:39:44

标签: python angularjs django

我在AngularJS中发出POST请求,如下所示:

'use strict';
angular.module('app').controller('RegisterController', function($scope, $http) {
         $scope.login = []
         $scope.registrar = function() {

         $http({
            method  : 'POST',
            url     : '/register/',
            headers : {'Content-Type': 'application/json'}, 
            data    : {'username' : $scope.login.username,
                       'password' : $scope.login.password,
                       'email' : $scope.login.email, 
                       'permission' : $scope.login.permission }
          })          
          .success(function(data) {
            $scope.gists = data;
          })
          .error(function(data, status) {
            console.error('Repos error', status, data);
          })
          .finally(function() {
            console.log("finally finished repos");
          });   

        };
})

在Django中,我正在调用request.POST [“username”]方法来获取信息。

但是信息没有返回,我在request.POST和request.GET中使用了一个print命令来查看并返回QueryDict:{}。

我需要为REST工作做一些不同的配置吗?

1 个答案:

答案 0 :(得分:2)

可以通过request.body访问它,因此您需要json.loads(request.body)来检索发布的数据。

另请考虑使用DRF。它将自动处理检索json有效负载。