Ajax 板


LINE

jQuery.ajax({ url: "http://"+serverIP+"/rcv/reg.do", data: "method=executeAdd&queryCaseNo="+"中文喔", dataType: 'xml', contentType: "text/html; charset=big5", error: function(xhr) { $('errMsg').innerHTML = "Ajax request 發生錯誤"; alert('Ajax request 發生錯誤'); }, success: function(response) { parserAddResult(response,'add'); location.href="#rcvDataHref"; } }); 其中contentType 我試過 big5 、 UTF-8、ISO8859-1 每次後端接到的中文都是亂碼 也爬過文,http://www.showfan.cn/share.php?pid=171 不想使用URL 編碼、也不想在struts後端做字碼轉換、 難道真的只能使用傳統的ajax嗎? requester.open("POST","http://"+serverIP+"/rcv/reg.do",true); requester.onreadystatechange=function() {getQueryResult("AddResult")}; requester.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); requester.send("method=executeAdd"+sendStr); --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.120.175.188 ※ 編輯: arliang 來自: 59.120.175.188 (09/06 10:46)
1F:→ TonyQ:如果後端接到的是亂碼,那我覺得是你後端接錯的可能性 09/06 10:46
2F:→ TonyQ:比較高. 09/06 10:46
3F:→ TonyQ:還是你用傳統的ajax接到的就會是正常的中文 ? @_@ 09/06 10:46
4F:→ TonyQ:環境給多一點比較好判斷 09/06 10:46
我後來改用傳統的ajax,就會是正常中文,後端sever是UTF-8編碼、jdk 1.5、tomcat 前端網頁也是utf-8編碼,firefox。謝謝~ ※ 編輯: arliang 來自: 59.120.175.188 (09/06 12:04)
5F:→ TonyQ:(思)附上你傳統ajax作法的code上來應該會比較清楚 09/06 14:31
文末的code 就是傳統的ajax,但是內容有省略 以下是完整的code var requester = null; if(window.XMLHttpRequest) { try { requester = new XMLHttpRequest(); } catch(e) { requester = null; } // branch for IE/Windows ActiveX version } else if(window.ActiveXObject) { try { requester = new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) { try { requester = new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) { requester = null; } } } var serverIP = '<%=request.getServerName()+":"+ request.getServerPort()+ request.getContextPath() %>'; requester.open("POST","http://"+serverIP+"/rcv/reg.do",true); requester.onreadystatechange = parserAddResult(requester.responseXML,"add"); requester.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); requester.send("method=executeAdd&queryCaseNo="+"中文喔"); function parserAddResult(xmlDoc,actionType){ if (actionType == "add"){ ...... }else if ......... } 謝謝~ ※ 編輯: arliang 來自: 59.120.175.188 (09/06 14:56)
6F:推 s25g5d4:先將傳送的資料encode一下? 09/06 18:59
7F:→ TonyQ:我在猜會不會是post跟get的差異? ajax default是get 09/06 19:03
8F:→ TonyQ:加上type 參數給 POST 看看? 09/06 19:04
9F:→ TonyQ:content-type 應該不用給,那理論上不會有影響. 09/06 19:04
10F:→ TonyQ:default的context-type是 09/06 19:05
11F:→ TonyQ:'application/x-www-form-urlencoded' 09/06 19:05
12F:→ TonyQ:所以應該不用另外給才對 09/06 19:05
13F:→ TonyQ:看看這樣能不能幫上忙 :) 09/06 19:05
14F:推 adahsu:我有遇到在 IE 時一定要在 context-type 加 charset 才行 09/07 10:00
15F:→ TonyQ:除非charset 環境不同 09/07 10:59
16F:→ TonyQ:不然應該沒有 contenxt-type 一定要加 charset 的情形. 09/07 11:00
17F:→ TonyQ:至少在常態的環境下這個不是必須的。(基本上我沒寫過要改 09/07 11:00
18F:→ TonyQ:context-type 的application,唯一的例外就是 utf-8 跟big5 09/07 11:00
19F:→ TonyQ:溝通。) 09/07 11:00
TonyQ 大大說對了 正解~感激不盡~ 答案是POST與GET的差異造成中文傳到後端變亂碼 contenxt-type 可以不用加 至少FF 與 IE7 都試過了, 我先提供簡單的Code給各位參考 1. 第一種 jQuery.ajax({ type: 'POST', dataType: 'xml', url: "http://"+serverIP+"/rcv/reg.do", data: "method=executeAdd&queryCaseNo=我是中文", error: function(xhr) { alert('Ajax request 發生錯誤'); }, success: function(response) { alert('好棒喔'); } }); url: "http://"+serverIP+"/rcv/reg.do", data: "method=executeAdd&queryCaseNo=我是中文", error: function(xhr) { alert('Ajax request 發生錯誤'); }, success: function(response) { alert('好棒喔'); } }); 2. 第二種 jQuery.post("http://"+serverIP+"/fcms/rcv/registration.do", "method=executeAdd&queryCaseNo=我是中文", function(response){ alert('好棒喔'); }, "xml" ); ※ 編輯: arliang 來自: 59.120.175.188 (09/07 11:35)
20F:推 adahsu:因為就是遇到不加不行啊... 只有 IE6/7/8 有此問題... 09/13 12:31
21F:→ TonyQ:有可能是我看得不夠多 XD 不過是什麼情形不這樣寫不會過啊? 09/13 23:02
22F:→ TonyQ:你看原po也說他沒寫還是過了啊 XD 09/13 23:02







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Tech_Job站內搜尋

TOP