您好,登錄后才能下訂單哦!
本篇內容主要講解“JQuery中Ajax的Post提交在IE下中文亂碼的問題怎么解決”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“JQuery中Ajax的Post提交在IE下中文亂碼的問題怎么解決”吧!
引言: 在JQuery的Ajax POST請求中,進行請求,其中的中文在后臺,顯示為亂碼,該如何解決呢?
問題的引入:
復制代碼 代碼如下:
var regid = $('#oregion').combobox('getValue'); //var sname = $('#sname').val(); var sname = encodeURI($('#sname').val(),"UTF-8"); if(regid!=""&®id!='undefined'){ $.ajax({ async: true, type : "POST", dataType : "json", url : "<%=request.getContextPath() %>/secretary/isHasUser.do?regid="+regid+"&sname="+sname, success : function(data) { if(data.mes!=""&&data.mes!=null){ $.messager.alert('Warning',data.mes); return false; } } }); } }
以上的代碼在FF/Chrome中,可以正常傳遞中文,但是在IE下,則存在問題,在后臺輸出的信息為亂碼。
問題嘗試辦法:
1. 設置了 contentType: "text/plain; charset=utf-8", 問題依然存在
2. 重新檢查了ajax代碼所在的jsp頁面,皆為使用utf-8,但是問題依然存在
3. 在后臺的java代碼中,強制使用utf-8、gbk、gb2312的編碼轉換, 問題依然存在
經過分析,判斷其可能與瀏覽器或者JQuery中的內容傳輸有關,目前也無法準確的確定。
解決的辦法:
前段:encodeURI($(dom).val(), "UTF-8"); 使用encodeURI進行編碼
后端Java代碼:
URLDecoder.decode(inputStr,"UTF-8"): 后端代碼針對前段傳遞過來的字符串,進行解碼。
總結:
最后就可以針對Ajax Post請求傳遞過來的字符串信息,就可以正常顯示中文了。
到此,相信大家對“JQuery中Ajax的Post提交在IE下中文亂碼的問題怎么解決”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。