Ajax中post方法400和404的問題


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傳過去

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM