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傳過去
本文原創,轉載請注明出處