我是离子开发的新手。我正在开发一个带有后端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)处理这个问题。
请帮助我,谢谢。