jQuery序列化亂碼解決

來源:互聯網
上載者:User

標籤:tail   alert   中文字元   處理   mit   .net   min   ram   query   

query之提交序列化表單(serialize)及亂碼處理
1 提交亂碼處理
JSP檔案聲明如下

[html] view plain copy
  1. <%@ page language="java" pageEncoding="UTF-8"%>  
  2.   
  3. <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>  

永久的處理方式:

修改jquery1.4.3.js原始碼解決:
找到:

  contentType: application/x-www-form-urlencoded

替換為:

  contentType: "application/x-www-form-urlencoded;charset=UTF-8"

要不然,每個請求前都要加

 contentType: "application/x-www-form-urlencoded;charset=UTF-8"  
$("#search_btn1").click(function(){              var submitData = $(‘#searchForm1‘).serialize();              alert(submitData);              $.ajax({                  type: "POST",                  dataType: "json",                  contentType: "application/x-www-form-urlencoded;charset=UTF-8",                  url: ‘${pageContext.request.contextPath}/jsonparam/getForm‘,                  data: $(‘#searchForm1‘).serialize(),                  success: function (data) {                      var f = data.success;                      if (data.success == true) {                          var retlist = data.result;                          alert(retlist.length);                        }                  },                  error: function(data) {                      alert("error:"+data.responseText);                   }                    });      });  

2 從後台返回中文字串,前台報錯或者為亂碼的處理

範例程式碼:添加發送資訊前添加頭部編碼:
response.setCharacterEncoding("UTF-8"); 
//response.setContentType("text/html;charset=UTF-8"); 
PrintWriter out = response.getWriter(); 
out.print("測試");
如果是用jQuery.form.js提交form所產生的亂碼:

找到這個jquery.form.js,將

[html] view plain copy
  1. var mp = ‘multipart/form-data‘;  

修改成:

[html] view plain copy var mp = ‘multipart/form-data;charset=UTF-8‘;  使用$param的方法進行序列化的時候,是亂碼的話,修改jquery-1.4.4.min.js

先搜尋到:param:function

將裡面的 encodeURIComponent改成

decodeURIComponent

jQuery序列化亂碼解決

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.