五月综合缴情婷婷六月,色94色欧美sute亚洲线路二,日韩制服国产精品一区,色噜噜一区二区三区,香港三级午夜理伦三级三

您現(xiàn)在的位置: 365建站網(wǎng) > 365文章 > ajax請求HTTP 400 錯(cuò)誤 - 請求無效 (Bad request)

ajax請求HTTP 400 錯(cuò)誤 - 請求無效 (Bad request)

文章來源:365jz.com     點(diǎn)擊數(shù):5059    更新時(shí)間:2018-05-16 09:52   參與評(píng)論

在ajax請求后臺(tái)數(shù)據(jù)時(shí)有時(shí)會(huì)報(bào) HTTP 400 錯(cuò)誤 - 請求無效 (Bad request);出現(xiàn)這個(gè)請求無效報(bào)錯(cuò)說明請求沒有進(jìn)入到后臺(tái)服務(wù)里;

原因:1)前端提交數(shù)據(jù)的字段名稱或者是字段類型和后臺(tái)的實(shí)體類不一致,導(dǎo)致無法封裝;

         2)前端提交的到后臺(tái)的數(shù)據(jù)應(yīng)該是json字符串類型,而前端沒有將對(duì)象轉(zhuǎn)化為字符串類型;

解決方案:

1)對(duì)照字段名稱,類型保證一致性

2)使用stringify將前端傳遞的對(duì)象轉(zhuǎn)化為字符串    data: JSON.stringify(param)  ;

另外實(shí)例:

點(diǎn)擊添加按鈕轉(zhuǎn)跳沒反應(yīng),控制臺(tái)沒報(bào)錯(cuò),然后在Chrome上檢查發(fā)現(xiàn)報(bào)錯(cuò)了

百度了一下,發(fā)現(xiàn)http Status 400這個(gè)錯(cuò)誤大多是因?yàn)椋琷sp的form表單提交的字段類型后臺(tái)接收字段類型不匹配造成的(例如,form中為String,后臺(tái)接收為Integer)

仔細(xì)對(duì)比了一下后臺(tái)和數(shù)據(jù)庫了的字段類型,果真如此,,,,,,,
 

Ajax中post方法400和404的問題

1.從400變成404

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

2.400的原因

  400在http狀態(tài)碼中的意思是服務(wù)器不理解你的請求,這時(shí)候你應(yīng)該檢查一下自己的請求格式,因?yàn)閜ost是提交的header和body(data),如果你沒有header那么報(bào)錯(cuò)是正常的,檢查header可以用Postman這個(gè)谷歌插件來檢查,這插件可以告訴你缺少什么參數(shù)或者是格式是否正確,使用方法就不贅述了建議百度。一般header格式如下

下面是http格式的頭部

3.404的原因

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

這時(shí)候控制臺(tái)輸出的data格式是這樣的:

這里如果你的后臺(tái)是接受字符串的格式,那么你就會(huì)報(bào)錯(cuò)404,那你就該換種格式,應(yīng)該把對(duì)象用JSON.stringify把body(data)轉(zhuǎn)化成字符串格式,如圖

這里的data如果你輸出就能發(fā)現(xiàn)它的格式是:

這里是簡單的字符串拼接而已,如果你有時(shí)間你甚至可以自己拼這么一串字符然后當(dāng)body傳過去


如對(duì)本文有疑問,請?zhí)峤坏浇涣髡搲?,廣大熱心網(wǎng)友會(huì)為你解答!! 點(diǎn)擊進(jìn)入論壇

發(fā)表評(píng)論 (5059人查看,0條評(píng)論)
請自覺遵守互聯(lián)網(wǎng)相關(guān)的政策法規(guī),嚴(yán)禁發(fā)布色情、暴力、反動(dòng)的言論。
昵稱:
最新評(píng)論
------分隔線----------------------------

其它欄目

· 建站教程
· 365學(xué)習(xí)

業(yè)務(wù)咨詢

· 技術(shù)支持
· 服務(wù)時(shí)間:9:00-18:00
365建站網(wǎng)二維碼

Powered by 365建站網(wǎng) RSS地圖 HTML地圖

copyright © 2013-2024 版權(quán)所有 鄂ICP備17013400號(hào)