2016-11-20 16 views
1

私はDjango Rest Framework APIViewにjsonデータを投稿しようとしています。 私はDRF APIの投稿フォームを使用するとうまく動作しますが、外部アプリ(私の場合はAngular2)を試してみると、変数request.dataは空です。Django Rest Framework APIView投稿データが空です

マイAPIView:

class CreatePaymentView(views.APIView): 

    def post(self, request, *args, **kwargs): 
     print(request.data) 
     return None 

私のURL:

url(r'payment/create', views.CreatePaymentView.as_view(), name='CreatePayment'), 

マイAngular2ポスト:私のアプリの

createPayment(): Observable<any> { 
    let body = JSON.stringify({test_data: 'whatever'}); 

    let headers = new Headers({ 
     'Content-Type': 'application/json', 
     'X-CSRFToken': this.cookiesService.csrftoken, 
     'Authorization': `Token ${this.logged.user.token}` 
    }); 
    let options = new RequestOptions({ headers: headers }); 
    return this.http.post(environment.server_url_api + 'payment/create/', body, options) 
     .map(response => { 
      return response; 
     }); 
    } 

すべての他の記事はうまく動作しますが、すべての私の他のビューDRF ModelViewSetなので、私はバグがCRFから来ていないと思っています。私は何かが私のジャンゴのビューで悪いと思う。

CreatePaymentViewの変数requestを読むと、データは{test_data: 'whatever'}の代わりに空のJSONになります。

DRFを使用した単純なPOSTを送信するとよいでしょうか?

+0

ブラウザのネットワークタブでリクエストをデバッグできますか?たぶん問題はそこにあります。すべてがあなたのバックエンドコードでうまくいくようだからです。 – lucasnadalutti

+0

@lucasnadaluttiありがとうございました。この問題は、ブレークポイントを持つVisual Studioウォッチ機能から発生しているようです。ブレークポイントでコードを見ずに、すべて正常に動作します。 – Ben

答えて

0

コメントで説明したように、問題はブレークポイントを持つVisual Studioウォッチ機能から発生しているようです。ブレークポイントでコードを見ずに、すべて正常に動作します。

関連する問題