2016-09-08 11 views
4

私はionicで作業しており、Djangodjango-rest-frameworkをバックエンドとして使用しています。私は私の設定で次のように設定しdjangoのcsrfとionic/angularjsはローカルサーバでは動作しますが、デバイスでは動作しません

$http({ 
    url: url, 
    method: method, 
    data: { 
    // some data 
    } 
}).success... 

をも:

$httpProvider.defaults.xsrfCookieName = 'csrftoken'; 
$httpProvider.defaults.xsrfHeaderName = 'X-CSRFToken'; 

私もngCookiesを試みたが、何も$cookies.csrftoken返さない私は、次のよう$httpで私のサーバーに投稿してみました。ここで

私のバックエンドのコードです:

class Mark(APIView): 
    def post(self, request): 
     # do something 
     return Response({ 
      # something 
     }) 

私はイオンローカルサーバーionic serveを使用する場合これは完璧に動作しますが、私はiOSのエミュレータ上または私のiPhone上でそれを構築する際に、403が表示されますCSRF:

{"detail":"CSRF Failed: CSRF token missing or incorrect."} 

がサーバーから返されました。

これに関するご意見はありますか?どうもありがとうございます!

+0

を私はあなたがモバイルアプリを開発するときにCSRFトークンを必要とは思いません。 – Windsooon

+0

APIViewにはcsrf_tokenは不要です – arcegk

答えて

6

私はこの情報があなたの問題を解決するとは思わない、あなたはおそらく後で直面するでしょう。アプリケーションを再起動するときにiOSのCookieが失われると、window.localStorageを使用してそれらを保存します。

の答えを参照してください: Can you use cookies in a Cordova application?

+0

ありがとうございます!私はあなたのリンクから学んだ、それはうまく動作します! –

関連する問題