jquery之提交序列化表单(serialize)及乱码处理

本文介绍如何使用jQuery进行表单序列化,并提供了解决前后端交互中出现的中文乱码问题的方法,包括设置编码、修改源代码及响应头等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一 序列化表单操作

1 $("form") 根据Element取到所有的form对象

2 $("#form1") 根据表单ID取到form对象

3 显示表单元素:

var fields = $("form").serializeArray();
jQuery.each( fields, function(i, field){
$("#results").append(field.value + " ");
});

选自jquery文档.

二 乱码处理
1 提交乱码处理
JSP文件声明如下
<%@ page language="java" pageEncoding="UTF-8"%>
<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

参考链接:
[url]http://dev.firnow.com/course/1_web/javascript/jsjs/20090303/157078.html[/url]

2 从后台返回中文字符串,前台报错或者为乱码的处理
示例代码:
添加发送信息前添加头部编码:
response.setCharacterEncoding("UTF-8");
//response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
out.print("测试");
三 乱码处理二
jquery ajax乱码问题
[url]http://songfantasy.iteye.com/blog/514440[/url]
我的设置:
1 工程编码,js,jsp,java设置为UTF-8
2 JSP页面编码:

<%@ page language="java" pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>

3 JS中处理
encodeURI(encodeURI(data)) ///[color=red]注意两次编码!![/color]
4 Java类中处理

response.setCharacterEncoding("UTF-8");
//response.setContentType("text/html;charset=UTF-8");
//用于向页面输送中文字符串
java.net.URLDecoder.decode((String)request.getParameter("username"),"UTF-8");

OK搞定! :lol:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值