如何使用后端django在离子应用程序中的https post reuest中处理Referer?

时间:2017-04-25 12:27:15

标签: angularjs django ionic-framework

我是离子开发的新手。我正在开发一个带有后端django的离子应用程序。我已经在django项目中编写了登录和注册代码,并将应用程序部署到heroku.the django app heroku url中工作正常。

CSRFtoken设置:

angular.module('starter.controllers', ['ngCookies'])
.config(['$httpProvider', function($httpProvider ) {
$httpProvider.defaults.xsrfCookieName = 'csrftoken';
$httpProvider.defaults.xsrfHeaderName = 'X-CSRFToken';
}])

登录代码:

$scope.doLogin = function(){
console.log($scope.loginData);
$http({
    method: 'POST',
    url: 'https://django-ionic-api-app.herokuapp.com/api/login/',
    data: $scope.loginData,
    dataType: "json"
}).then(function successCallback(response) {
    console.log(response);
    if(response.statusText == "OK"){
      alert("User login successfully!!");
      window.localStorage['userdetails'] = JSON.stringify(response.data.user);
      $scope.userdetails = JSON.parse(window.localStorage['userdetails']);
      window.location.href = $state.href('app.home');
      window.location.reload();
    }
  },function errorCallback(response) {
    console.log(response)
    alert(response.data.message)
});
};

在网络浏览器中,登录和注册工作正常。 但是当我建立apk并在移动设备上测试它时,第一次登录成功但第二次低于错误

{"detail":"CSRF Failed: Referer checking failed - no Referer."}

我已经检查了交叉原始标题,但我得到了相同的错误。 我想我需要从离子处理这个Referer错误?但是我不知道如何从angularjs(ionic1)处理这个问题。

请帮助我,谢谢。

0 个答案:

没有答案