這次帶給大家Ajax中用到get和post會遇到哪些問題以及處理方法,Ajax中用到get和post的注意事項有哪些,下面就是實戰案例,一起來看一下。
使用get遇到的問題:
1.問題一.快取:當每次存取的url相同,客戶端直接讀取取本地快取裡面的內容,即使後台資料變化前台也不會有變化;
#解決方法:在?後面連結一個num=【隨機數Math.random()】或num=【時間戳new Date().getTime()】,'1.php?username="May"&'+num (這裡沒有變數名稱,避免和後台參數衝突)
2.問題二.亂碼,當傳遞中文或特殊字元的時候,前台顯示出現亂碼
解決方法:使用編碼encodeURI('蝸牛')
測試結果:透過使用Chrome測試,結果get的兩個問題,都已經得到了解決
使用post遇到的問題:
post方式,資料放在send()裡面作為參數傳遞;
問題:當沒有設定請求頭的時候,後台直接不對資料進行處理;前台就無法取得後台回傳的資料
解決方法:手動設定請求頭(xhr.setRequestHeader('content-type','application/x-www- form-urlencoded')),宣告發送的資料型別
【註】post沒有快取問題,沒有編碼問題(因為在請求頭裡面已經進行了宣告)
測試結果:透過使用Chrome測試,結果post這個沒有宣告頭部訊息,問題是存在的
簡單的說:Get請求和Post請求的區別
1.使用Get請求時,參數在URL中顯示,而使用Post方式,則不會顯示出來
2.使用Get請求發送數據量小,Post請求發送資料量大
相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!
推薦閱讀:
以上是Ajax中用到get和post會遇到哪些問題以及處理方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!