在Ajax中使用get和post所遇到的問題及解決辦法_AJAX相關

來源:互聯網
上載者:User

使用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請求發送資料量大

以上所述是小編給大家介紹的在Ajax中使用get和post所遇到的問題及解決辦法,希望對大家有所協助,如果大家有任何疑問請給我留言,小編會及時回複大家的。在此也非常感謝大家對雲棲社區網站的支援!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.