最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

JQuery的Ajax中Post方法傳遞中文出現(xiàn)亂碼的解決方法_jquery

來源:懂視網(wǎng) 責(zé)編:小采 時間:2020-11-27 21:28:08
文檔

JQuery的Ajax中Post方法傳遞中文出現(xiàn)亂碼的解決方法_jquery

JQuery的Ajax中Post方法傳遞中文出現(xiàn)亂碼的解決方法_jquery:本文實例講述了JQuery中Post傳遞中文出現(xiàn)的解決方法,即亂碼ajax與jquery.ajax中文參數(shù)post傳遞亂碼處理方法。分享給大家供大家參考。具體分析如下: 問題一: 今天在做項目時,需要用到Ajax,之前我在用GET方式傳遞中文參數(shù)時,只需要在后臺程序中設(shè)置頁面編
推薦度:
導(dǎo)讀JQuery的Ajax中Post方法傳遞中文出現(xiàn)亂碼的解決方法_jquery:本文實例講述了JQuery中Post傳遞中文出現(xiàn)的解決方法,即亂碼ajax與jquery.ajax中文參數(shù)post傳遞亂碼處理方法。分享給大家供大家參考。具體分析如下: 問題一: 今天在做項目時,需要用到Ajax,之前我在用GET方式傳遞中文參數(shù)時,只需要在后臺程序中設(shè)置頁面編

本文實例講述了JQuery中Post傳遞中文出現(xiàn)的解決方法,即亂碼ajax與jquery.ajax中文參數(shù)post傳遞亂碼處理方法。分享給大家供大家參考。具體分析如下:

問題一:

今天在做項目時,需要用到Ajax,之前我在用GET方式傳遞中文參數(shù)時,只需要在后臺程序中設(shè)置頁面編碼為GB2312即中文能正常顯示,可是這次由于表單項目較多,不適合用GET方式傳遞,只能用POST方式,但發(fā)現(xiàn)后臺程序中設(shè)置編碼為GB2312時中文還是顯示的亂碼。經(jīng)過一番研究問題才最終得到解決。

解決方法:

解決此問題的方法非常簡單,只需要在JS處理參數(shù)時用escape()函數(shù)處理一下即可,而且不需要再用unescape()解碼,這個方法適合POST和GET方式,具體的Ajax代碼這里我不例出,這里給出用escape()函數(shù)處理參數(shù)時的代碼:

代碼如下:var htmer ="getcode="+escape(getcode)+"&Content="+escape(Content);

通常我們在處理Ajax的時候會在這里直接獲取參數(shù)的值,為了使中文參數(shù)不是亂碼,我們只需要用escape()函數(shù)對參數(shù)處理下即可。

問題二:

當(dāng)網(wǎng)站頁面不是utf-8編碼時,ajax提交的中文便會變成亂碼。

解決方法如下:

找到j(luò)query.js里的contentType:application/x-www-form-urlencoded,將它改成contentType:application/x-www-form-urlencoded; charset=UTF-8就可以了。

原因:未指定charset時,jquery使用ISO-8859-1,ISO8859-1,通常叫做Latin-1。Latin-1包括了書寫所有西方歐洲語言不可缺少的附加字符。jquery的ajax根本沒有考慮到國際化的問題,而使用了歐洲的字符集,所以傳遞中文時才會出現(xiàn)亂碼

我很久以前一直在使用Prototype框架。在.net-GB2312或jsp教程-utf8下都使用過,從來沒遇到有字符編碼的問題。于是將Prototype和JQuery代碼都下載下來打開研究原因。

不同之處在于JQuery默認(rèn)的contentType:application/x-www-form-urlencoded

而Prototype則是contentType:application/x-www-form-urlencoded; charset=UTF-8

這才是JQuery正在亂碼的原因,在未指定字符集的時候,是使用ISO-8859-1

ISO8859-1,通常叫做Latin-1。Latin-1包括了書寫所有西方歐洲語言不可缺少的附加字符。

JQuery的Ajax根本沒有考慮到國際化的問題,使用了歐洲的字符集,所以才引起了傳遞中文出現(xiàn)亂碼的問題。

而我們的UTF-8則可以解決這一問題。

最終指需要修改JQuery的代碼,顯式聲明contentType使用utf-8字符集,即可解決GB2312中文傳遞的問題。

只需要簡單的將JQuery的代碼加以修改,加上charset=UTF-8就可以了,這樣不需要改變改什么web.config或什么在頁面中改編碼什么的了,也不需要用escapc(str)再在服務(wù)端解碼。英文怎么傳遞,中文也怎么傳遞。

這里給段簡單的代碼測試一下:

test.html頁面代碼:

代碼如下:




聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

JQuery的Ajax中Post方法傳遞中文出現(xiàn)亂碼的解決方法_jquery

JQuery的Ajax中Post方法傳遞中文出現(xiàn)亂碼的解決方法_jquery:本文實例講述了JQuery中Post傳遞中文出現(xiàn)的解決方法,即亂碼ajax與jquery.ajax中文參數(shù)post傳遞亂碼處理方法。分享給大家供大家參考。具體分析如下: 問題一: 今天在做項目時,需要用到Ajax,之前我在用GET方式傳遞中文參數(shù)時,只需要在后臺程序中設(shè)置頁面編
推薦度:
標(biāo)簽: 亂碼 出現(xiàn)亂碼 post
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top