角度给定错误406中的发布方法(不可接受)

时间:2018-11-30 10:19:20

标签: python django xml angular python-2.7

我试图用angular调用XML数据并用python(Django)将XML数据保存到mongodb,但是它给了mi错误406(不可接受)和详细信息”:“无法满足请求Accept标头

在component.ts中:

let headers = new Headers();
headers.append('Content-Type', 'application/xml');
headers.append('Accept', 'application/xml');
let body = "<?xml version=\"1.0\" encoding=\"UTF-8\"?> " + 
           "<note> " + 
           "<to>Tove</to> " + 
           "<from>Jani</from> " + 
           "<heading>Reminder</heading> " + 
           "<body>Dont forget me this weekend!</body> " + 
           "</note>";
this.http.post(url, body, { headers: headers })
  .subscribe(data => {
    console.log(data);
  });

在views.py

def post(self, request):
  original_response = request.data
  save_response = LenderResponse(lender_response=str(original_response))
  return Response(original_response)

1 个答案:

答案 0 :(得分:1)

406: Not Acceptable意味着服务器无法以您使用Accept标头请求的格式返回数据。

您正在传递Accept: application/xml标头,但是由于某些原因,您的服务器不支持该响应类型。您应该使用服务器知道如何使用的格式传递其他标头,或者更改服务器代码以支持application/xml响应类型。

对于Django(它似乎是您选择的服务器框架),您应该使用REST Framework XML插件。