离开/ angularjs与django csrf在本地服务器上工作但不在设备上工作

Swo*_*tor 4 django csrf ios angularjs ionic-framework

我正在研究离子并使用Django和django-rest-framework作为后端.我尝试使用$http以下内容发布到我的服务器:

$http({
  url: url,
  method: method,
  data: {
    // some data
  }
}).success...
Run Code Online (Sandbox Code Playgroud)

我还在配置中设置了以下内容:

$httpProvider.defaults.xsrfCookieName = 'csrftoken';
$httpProvider.defaults.xsrfHeaderName = 'X-CSRFToken';
Run Code Online (Sandbox Code Playgroud)

我也试过ngCookies但$cookies.csrftoken没有退货.

这是我的后端代码:

class Mark(APIView):
    def post(self, request):
        # do something
        return Response({
            # something
        })
Run Code Online (Sandbox Code Playgroud)

当我使用离子本地服务器时ionic serve,这非常有用,但是当我在iOS模拟器或iPhone上构建它时,会出现csrf 403:

{"detail":"CSRF Failed: CSRF token missing or incorrect."}
Run Code Online (Sandbox Code Playgroud)

从服务器返回.

有什么想法吗?非常感谢!

jro*_*aud 6

我不认为这些信息可以解决你的问题,你可能会在以后遇到这个问题.在重新启动应用程序时,iOS会丢失,请使用window.localStorage来存储它们.

查看答案: 您可以在Cordova应用程序中使用cookie吗?