Django Rest框架APIView post数据为空

Django Rest框架APIView post数据为空,post,view,django-rest-framework,Post,View,Django Rest Framework,我正在尝试将json数据发布到我的Django Rest框架APIView。 当我使用DRFAPI post表单时,一切都很好,但是当我尝试使用外部应用程序(在我的例子中是Angular2)时,request.data变量为空 我的看法: class CreatePaymentView(views.APIView): def post(self, request, *args, **kwargs): print(request.data) return

我正在尝试将json数据发布到我的Django Rest框架APIView。 当我使用DRFAPI post表单时,一切都很好,但是当我尝试使用外部应用程序(在我的例子中是Angular2)时,
request.data
变量为空

我的看法:

class CreatePaymentView(views.APIView):

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

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;
        });
  }
createPayment():可观察{
let body=JSON.stringify({test_data:'whatever'});
让标题=新标题({
“内容类型”:“应用程序/json”,
“X-CSRFToken”:this.CookieService.CSRFToken,
'Authorization':`Token${this.logged.user.Token}`
});
let options=newrequestoptions({headers:headers});
返回此.http.post(environment.server_url_api+'payment/create/',body,options)
.map(响应=>{
返回响应;
});
}
我的应用程序的所有其他帖子都运行良好,但我的所有其他视图都是DRF ModelViewSet,这就是为什么我认为我的bug不是来自CRF。我怀疑我的django观点有问题

当我在我的
CreatePaymentView
中读取
request
变量时,数据是空的JSON,而不是
{test\u data:'whatever'}


使用DRF发送简单帖子的最佳做法是什么?

如评论中所述,问题似乎来自带断点的Visual Studio watch功能。如果不使用断点查看代码,一切正常。

能否在浏览器的“网络”选项卡中调试请求?也许问题就在这里,因为您的后端代码似乎一切正常。谢谢@lucasnadalutti的评论。问题似乎来自带有断点的VisualStudio监视功能。在不使用断点查看代码的情况下,一切正常。