1. 程式人生 > >利用jquery實現Ajax技術,post方式傳值中文亂碼問題的解決辦法。

利用jquery實現Ajax技術,post方式傳值中文亂碼問題的解決辦法。

連結:http://www.jb51.net/article/31791.htm jquery的ajax()函式傳值中文亂碼解決方法介紹,需要的朋友可以參考下 複製程式碼程式碼如下:
$.ajax({ 
  dataType : ‘json',type : ‘POST',url : ‘http://localhost/test/test.do',data : {id: 1, type: ‘商品'},success : function(data){ } } ); 

問題:

提交後後臺action程式時,取到的type是亂碼 
解決方法: 
方法一:提交前採用encodeURI兩次編碼,記住一定是兩次 
1.修改以下程式碼 
複製程式碼程式碼如下:
data:{id:1, type:encodeURI(encodeURI(‘商品'))} 

2.在後臺action裡要對取得的字串進行decode 
1、String type = request.getParameter(“type”); 
2、type = URLDecoder.decode(type, “UTF-8″); 
方法二:ajax配置contentType屬性,加上charset=UTF-8 
在ajax方法中加入以下引數 
contentType: “application/x-www-form-urlencoded; charset=UTF-8″使用其它js框架或者xhr都是差不多,設定header中contentType即可, 

這裡關鍵是charset=UTF-8,如果沒有這個,是不行的,預設jQuery裡的contentType是沒有的 。

自己測試後發現,對於get方式,方法一有效;對於post方式,在後臺加上request.setCharacterEncoding("utf-8");和response.setCharacterEncoding("utf-8");即可解決。

相關推薦

利用jquery實現Ajax技術post方式中文亂碼問題的解決辦法

連結:http://www.jb51.net/article/31791.htm jquery的ajax()函式傳值中文亂碼解決方法介紹,需要的朋友可以參考下 複製程式碼程式碼如下: $.ajax({    dataType : ‘json',type :

get方式中文亂碼

問題描述: 點選超連結,則傳值到servlet中,在servelt中通過request.getParameter("bname"); 獲取到的中文字元都顯示為“?“ 解決方法: 方法一: get方式提交的引數編碼,只支援iso8859-1編

apache http client post json 返回 中文亂碼解決

import org.apache.commons.httpclient.HttpException; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.Htt

AJAX中文亂碼解決方法

Win32檔案系統程式設計 一丶瞭解什麼是檔案系統 檔案系統是抽象的.是windows在軟體層面提供的一層虛擬的資料結構. 檔案系統分為NTFS 跟 FAT32. 具體看看兩者的區別吧. 磁碟分割槽容量. 單個檔案容量. 意思就是一個檔案可以是多大的. NTFS 是可以4G以

JQuery實現ajax技術的常用方法

this 鏈接 js實現 一個 nbsp cal 總結 emp 回調函數 在我的前一篇用js實現ajax的三種技術中,我提到了怎麽用原生的js代碼去實現ajax技術,但是 可以看到,代碼相對於來說還是比較多,在我們實際的開發中,我們用到的比較多的技術是用jqu

AJAX 利用JQuery實現AJAX請求

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="JqueryAjax.aspx.cs" Inherits="XXX.WebApp.JqueryAjax" %> <!DOCTYPE h

Laravel通過ajaxPOST方式實現頁面跳轉

1.新增測試按鈕 <button class='test' >ajax測試</button> 2.ajax部分程式碼 @section('js') <scr

struts1+json+jquery實現ajax提交獲取資料已經經過我的驗證這樣是可行的

首先我們要在工程中新增兩個jar包,json-lib-2.2.3-jdk15.jar和ezmorph-1.0.6.jar,這兩個jar包可以在http://download.csdn.net/detail/lishamao/4303485上下載。 jquery實現ajax

(C#)AJAX post方式

AJAX傳值的方式有兩種,GET和POST,GET方式實際上是把資料通過位址列傳值,比如“XX.aspx?id=.....”,這樣有兩個不足,位址列只能有255個字元,因為通過位址列,所以不能傳遞重要的值,安全性不高,POST方式實際上是把傳遞的值以表單的方式傳遞出去,能夠存放2G大小的資料,以下是程式碼

jQuery同步Ajax帶來的UI線程阻塞問題及解決辦法

1.5 style ie9 sleep 去掉 是什麽 url 完成 互斥 俗話說不作死就不會死,今天作死了一回,寫了一個比較二逼的函數,遇到了同步Ajax引起的UI線程阻塞問題,在此記錄一下。   事情起因是這樣的,因為頁面上有多個相似的異步請求動作,本著提高代碼可重用性

過濾器解決get和post方式提交的中文亂碼

       對於國內的程式設計師來說,在做專案時避免不了的問題是中文亂碼問題。        如果不使用過濾器的話,在每個servlet中都要進行設定編碼,如果是post請求還好,但是如果是get請求,就要手動進行轉碼,相當麻煩。 下面來介紹一下過濾器解決表單提交中的中文

ajax伺服器在前臺解析出現undefined的解決辦法

轉自:https://blog.csdn.net/mengjian93/article/details/41921427  一般處理伺服器傳來的json值時,我們都會用兩種方式進行處理:1.一種為使用eval()函式。var dataObj=eval("("+data+")"

android http post請求設定utf-8編碼服務端還是出現中文亂碼 解決

 HttpClient httpClient = new DefaultHttpClient(); HttpPost post = new HttpPost(url);List<NameValuePair> params = new ArrayList&

玩轉web之ajax(一)---使用表單的serialize()方法中文亂碼解決

ack track 獲取 enc uri clas serialize post class 有時候我們須要使用ajax提交去提交form的值,這樣就須要使用serialize()去獲取form的值。但這樣獲取的值假設有中文

使用httpclient post請求中文亂碼解決辦法

gin pri div method con 情況下 turn .get 解決 使用httpclient post請求中文亂碼解決辦法 在使用httpclient發送post請求的時候,接收端中文亂碼問題解決。 正文: 我們都知道,一般情況下使用post請求

關於.Net Core 前後端分離跨域請求時 ajax並發請求導致部分無法通過驗證解決辦法

figure mvc control head configure onf light 請求 並發 項目中有這樣一個頁面。頁面加載的時候會同時並發6個ajax請求去後端請求下拉框。 這樣會導致每次都有1~2個“瀏覽器預請求”不通過。 瀏覽器為什麽會自動發送“預請求”?請看以

微信模板訊息詳情頁檢視附件時出現中文亂碼解決

模板訊息大家都知道 ,推送給你有的有詳情字樣,點進去可以到你伺服器一個頁面。 詳情頁面我有一個xxx.sql的檔案,點開後直接就能顯示內容。 不應該啊!因為上傳檔案時,我的編碼 是UTF-8,反而出現了亂碼??? 可能我的微信版本低吧?不過在pc瀏覽器開啟,就會自動分析

深信服VPN在WIN10系統下使用者撥入後閃退解決辦法

深信服VPN在WIN10系統下,使用者撥入後閃退解決辦法:掃面完後,在待修復項裡出現“*****導致賬號登入閃退”選項,點選後面的修復即可。以上是經驗解決辦法,若未能幫到大家,請大家多多包涵。    深信服vpn在win10系統下閃退修復工具。

動態生成一個textview設定padding不起作用的解決辦法

今天在動態寫佈局的時候,動態new了一個TextView,然後給其設定padding不起作用。 TextView tv = new TextView(mContext); LinearLayout.

jsp中Get提交方式中文亂碼解決辦法

解決辦法:   步驟1.  加過濾器,即在filter裡的init()里加上request.setCharacterEncoding("utf-8");相當於每個頁面的編碼都是utf-8, 步驟2.  將表單提交方法改成post方式,至於get方式的解決目前還不知道 上面兩