Content-Type的使用說明

前端在調接口的時候,經(jīng)常會出現(xiàn)返回500錯誤的問題。但是用postman調接口卻是沒問題的,這說明自己的寫法或是傳參有問題。
經(jīng)過自己多次總結,發(fā)現(xiàn)問題主要集中在Content-Type這個屬性上。

postman返回結果說明

任何時候開始寫代碼掉接口之前,應該先用postman調一下。如果postman返回結果是ok的,說明接口沒問題。反之接口有問題。
下面是接口返回正確結果后的內容。

Access-Control-Allow-Credentials →true
Access-Control-Allow-Headers →Access-Control-Allow-Headers, Origin,Accept, X-Requested-With, Content-Type, Access-Control-Request-Method, Access-Control-Request-Headers
Access-Control-Allow-Origin →*
Access-Control-Request-Methods →GET,POST,HEAD,PUT,OPTIONS,DELETE,TRACE,CONNECT,MOVE,PROXY
Content-Length →16
Content-Type →application/json
Date →Tue, 02 May 2017 10:58:32 GMT
Server →Werkzeug/0.12.1 Python/2.7.6

注意到Content-Type→application/json。此處是后臺返回的數(shù)據(jù)類型。

參考文章: http://blog.csdn.net/calyxmelo/article/details/54969244

不使用contentType: “application/json”則data可以是對象

$.ajax({
  url: actionurl,
  type: "POST",
  datType: "JSON",
  data: { id: nodeId },
  async: false,
  success: function () {}
});

使用contentType: “application/json”則data只能是json字符串,也就是要對對象格式化為字符串,通常使用 var newObj=JSON.stringify(obj)

$.ajax({
  url: actionurl,
  type: "POST",
  datType: "JSON",
  contentType: "application/json"
  data: "{'id': " + nodeId +"}",
  async: false,
  success: function () {}
});

data也可以這樣寫:

data:JSON.stringify({'id': + nodeId })

在Postman中調接口時,注意text類型。
個人猜想:如果是text類型,那么需要將JSON.stringify(obj)格式化為文本


image.png

如果是其他類型呢?data數(shù)據(jù)該怎么處理?
無奈自己不懂后端,很多想法無法驗證。


image.png
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容