使用get遇到的問題:
1.問題一. 緩存:當(dāng)每次訪問的url相同,客戶端直接讀取本地緩存里面的內(nèi)容,即使后臺數(shù)據(jù)變化前臺也不會有變化;
解決方法:在?后面鏈接一個num=【隨機數(shù)Math.random()】或者num=【時間戳new Date().getTime()】,'1.php?username="May"&'+num(這里沒有變量名,避免和后臺參數(shù)沖突)
2.問題二. 亂碼,當(dāng)傳遞中文或者特殊字符的時候,前臺顯示出現(xiàn)亂碼
解決辦法:使用編碼encodeURI('蝸牛')
測試結(jié)果:通過使用Chrome測試,結(jié)果get的兩種問題,都已經(jīng)得到了解決
使用post遇到的問題:
post方式,數(shù)據(jù)放在send()里面作為參數(shù)傳遞;
問題:當(dāng)沒有設(shè)置請求頭的時候,后臺直接不對數(shù)據(jù)進行處理;前臺就無法獲得后臺返回的數(shù)據(jù)
解決方法:手動設(shè)置請求頭(xhr.setRequestHeader('content-type','application/x-www-form-urlencoded')),聲明發(fā)送的數(shù)據(jù)類型
【注】post沒有緩存問題,沒有編碼問題(因為在請求頭里面已經(jīng)進行了聲明)
測試結(jié)果:通過使用Chrome測試,結(jié)果post這個沒有聲明頭部信息,問題是存在的
簡單的說:Get請求和Post請求的區(qū)別
1.使用Get請求時,參數(shù)在URL中顯示,而使用Post方式,則不會顯示出來
2.使用Get請求發(fā)送數(shù)據(jù)量小,Post請求發(fā)送數(shù)據(jù)量大
相信看了本文案例你已經(jīng)掌握了方法,更多精彩請關(guān)注Gxl網(wǎng)其它相關(guān)文章!
推薦閱讀:
ajax怎么實現(xiàn)網(wǎng)絡(luò)請求的封裝
Ajax怎么實現(xiàn)點擊時不斷開數(shù)據(jù)加載列表
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com