1. 程式人生 > >Ajax中post方法400和404的問題

Ajax中post方法400和404的問題

inf 百度 markdown gpo 正常 clas 2.4 image 3.4

1.從400變成404

  我相信有很多人都用過Ajax技術來獲取數據,一般都是使用get來獲取的,但是敏感信息就不能繼續用get了,於是就換成了post,但是用post的時候有時候發生一些奇怪的事情,比如直接訪問是400,加上header和data訪問是404,這就令人疑惑了,為什麽不是從一開始就報錯404呢?

2.400的原因

  400在http狀態碼中的意思是服務器不理解你的請求,這時候你應該檢查一下自己的請求格式,因為post是提交的header和body(data),如果你沒有header那麽報錯是正常的,檢查header可以用Postman這個谷歌插件來檢查,這插件可以告訴你缺少什麽參數或者是格式是否正確,使用方法就不贅述了建議百度。一般header格式如下

技術分享圖片

下面是http格式的頭部

技術分享圖片

3.404的原因

  如果你加上頭部卻404了,那麽千萬不要慌張,這時候你已經請求成功了,只是數據404了而以,不要看見頁面上寫著404就慌張了,這時候你應該註意自己的body(data)內容,看過http的應該都懂,header是請求頭,body裏面才是真實的數據,數據不帶是查不出東西的,而且data格式一般是特殊的,你得和後臺好好商量body格式問題,是字符串還是對象的body,這裏我舉兩個例子,下面這個是對象格式

技術分享圖片

這時候控制臺輸出的data格式是這樣的:技術分享圖片

這裏如果你的後臺是接受字符串的格式,那麽你就會報錯404,那你就該換種格式,應該把對象用JSON.stringify把body(data)轉化成字符串格式,如圖

技術分享圖片

這裏的data如果你輸出就能發現它的格式是:技術分享圖片

這裏是簡單的字符串拼接而已,如果你有時間你甚至可以自己拼這麽一串字符然後當body傳過去

本文原創,轉載請註明出處

Ajax中post方法400和404的問題