Ajax中post方法400和404的問題

2021-09-07 16:51:33 字數 914 閱讀 7421

1.從400變成404

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

2.400的原因

下面是http格式的頭部

3.404的原因

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

這時候控制台輸出的data格式是這樣的:

這裡如果你的後台是接受字串的格式,那麼你就會報錯404,那你就該換種格式,應該把物件用json.stringify把body(data)轉化成字串格式,如圖

這裡的data如果你輸出就能發現它的格式是:

Ajax中Get和Post的區別

談ajax的get 和post 的區別 get 方式 用get 方式可傳送簡單資料,但大小一般限制在1kb下,資料追加到url中傳送 http的header傳送 也就是說,瀏覽器將 各個表單字段元素及其資料按照url引數的格式附加在請求行中的資源路徑後面。另外最重要的一點是,它會被客戶端的瀏 覽器快...

ajax中get和post的區別

大部分時候。我寫ajax 都粗心的忽略了乙個屬性。就是它的兩個提交方式。前幾天發生了bug。我的備註欄位向後台提交的時候。發現報出引數過長的錯誤。然後網上查,並研究了其原理。得出一下結論 get方式 用get方式可傳送簡單資料,但大小一般限制在1kb下,資料追加到url中傳送 http的header...

Ajax中Post和Get的區別

1 使用get的時候,引數會在url後面傳遞資料,而post不會顯示,因為post請求是最為http訊息的實體內容傳送給web伺服器。這種區別對於使用者是不可見的。2 get請求傳送資料量小 最多也就1024位元組 post請求傳送資料量大。為什麼說get請求資料量小呢?因為get是通過url提交資...