`
caojian43
  • 浏览: 3234 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

jQuery.form.js进行表单提交,中文乱码问题及解决

    博客分类:
  • Java
阅读更多

目前处理一个项目需要使用到jquery的form插件进行jsp页面中的form异步提交,我的java和jsp编码都是GBK的,并且在web.xml中也设置了编码格式为GBK。可是就是这个原因让我碰到了提交表单时出现中文乱码的事情。

 

解决办法:经测试OK!!!

没有采用form插件(采用form插件解决办法一样直接对data进行二次转码),而是直接使用jquery的$.ajax()函数进行异步请求:

$(document).ready(function(){
    $('#submit').click(function(){
        var formData = $('#frm1').serialize(); //取表单值 并进行序列化;此时formData已经是乱码了
        formData = decodeURIComponent(formData,true);//一次转码
        formData = encodeURI(encodeURI(formData)); //两次转码
        $.ajax({
            type:'post',
            data:formData,//form表单数据集
            url:'/bshgl/bshczxxcj/admin/writeJbxx.jspx',
            success:function(){
                alert("保存成功!");
            }
        });
    });
});

后台采用springMVC的annotation进行form表单数据接收

String test= URLDecoder.decode(object.getXxx(), "UTF-8");

..../*下面的代码则是调用hibernate方法将数据保存到database中*/

 

得到的test字符为中文。并且可以存入编码为GBK的数据库中,木有问题。

 

而我目前急需解决的问题,后台采用springMVC ,使用@ModelAttribute所接收的form值置于一个对象里面即object中,如果我想将form中的值异步更新到数据库中,那么我就需要对所有的字段进行get和decode。这样做的很麻烦,不知道各位有什么好的办法吗?···

好吧,下面提供我的办法··············但是目前这个办法还不完善:

因为使用的spring来进行bean管理,所以我现在使用的框架中,在entity层和bo层之间还有一个称为dto的一层,他的职责很简单明确,只负责数据传输,每次entity从数据库读取数据,都先将数据copy到dto层,让其去于view打交道,这里就把URLDecoder.decode(object.getXxx(), "UTF-8");置于dto的所有字段的get,set方法中,这样就不需要在Controller层再分别对每个字段进行get并decode了。     不完善的原因是········我在执行bean 拷贝的时候有部分数据没有拷贝进行·····蛋疼

分享到:
评论

相关推荐

    解决3.01版的jquery.form.js中文乱码问题的解决方法

    最近用到了jquery的一个fom插件,是一个全面支持表单的jQuery插件。昨天在用ajaxSubmit进行Form Post提交的时候,发现服务器端取回的中文数据居然是乱码。这个可能是因为jquery是utf-8,不支持gb2312

    springmvc利用jquery.form插件异步上传文件示例

    在web.xml文件中,我们需要配置一个过滤器来解决表单提交时的中文乱码问题。通常我们会使用Spring提供的CharacterEncodingFilter过滤器,设置其encoding参数为UTF-8,以确保中文字符能够正确处理。 在SpringMVC的...

    jquery form表单提交插件asp.net后台中文解码

    在使用jQuery的form表单提交插件jquery.form.js来提交含有中文字符的数据时,通常会遇到一个常见的问题——数据在发送之前需要被编码,而在服务器端接收到数据后又需要被解码。这一步骤主要是为了确保中文字符在HTTP...

    ASP.NET检测到不安全 Request.Form 值解决方案汇总.docx

    - **ASP.NET Request.Form中文乱码的解决方法** 如果在处理Request.Form时遇到中文乱码,可以确保`<globalization>`元素在`web.config`中的正确配置,例如: ```xml ``` - **C# Request.Form用法案例** `...

    如何解决JQuery ajaxSubmit提交中文乱码

    在Web开发过程中,使用JQuery的ajaxSubmit方法进行表单提交时,中文乱码问题是一个常见的困扰。中文乱码问题通常发生在数据的提交和接收过程中,由于字符编码的不一致导致。为了解决这个问题,首先需要了解JQuery的...

    jQuery使用serialize()表单序列化时出现中文乱码问题的解决办法

    在使用jQuery进行Web开发过程中,表单序列化是一项常见的操作,它允许开发者将表单中的输入元素编码成URL编码格式的字符串,通常用于表单提交。然而,在处理包含中文字符的表单时,我们可能会遇到序列化后的数据出现...

    ajax提交乱码

    在IT领域,特别是Web开发中,遇到“Ajax提交乱码”的问题是非常常见的,尤其是在处理中文或其它非英文字符集时。根据给定的文件信息,我们可以深入探讨如何使用Jquery来解决这一问题。 ### Ajax提交乱码问题的本质 ...

    Asp中使用JQuery的AJAX提交中文乱码解决方法

    在使用Asp进行Web开发过程中,通过JQuery的AJAX方法提交表单数据时,中文字符很容易出现乱码问题。为了解决这个问题,我们可以使用Asp自带的unescape()和escape()函数来进行编码和解码操作,以此确保数据在客户端与...

    jQuery Ajax过滤器

    本文将深入探讨jQuery中的Ajax过滤器及其在Ajaxform表单提交中的应用,以及如何解决可能出现的乱码问题。 首先,让我们理解什么是jQuery Ajax过滤器。在jQuery中,`ajaxSend`、`ajaxComplete`、`ajaxSuccess`、`...

    jQuery ajaxForm()的应用

    在jQuery中,ajaxForm()是一个专门用于处理表单提交的函数,它属于jQuery Form插件的一部分。 首先,ajaxForm()的作用是对即将使用AJAX方式提交的表单进行预处理。它可以将所有需要的事件监听器添加到表单中,而...

    jquery乱码与contentType属性设置问题解决方案

    今天闲的无聊,把以前遗留的问题解决一下,比如让人头痛的Jquery乱码问题。其实这方面文章已经很多了,但全面解决各种问题的很少,今天总结一下,方便自己也方便大家。原因很简单: 其实他的中文乱码就是因为...

    jquery ajax传递中文参数乱码问题及解决方法说明

    本文将详细探讨使用jQuery进行Ajax请求时,传递中文参数可能出现的乱码问题,并给出解决这些问题的方法。当使用jQuery进行Ajax通信时,数据通常需要通过GET或POST方法传输,如果参数为中文,很可能会因为编码方式不...

    使用Jquery_EasyUi常见问题解决方案

    ### 使用Jquery_EasyUi常见问题解决方案 #### 1. 清空指定表单中的内容 在使用Jquery_EasyUi开发过程中,特别是在处理表单数据时,经常会遇到需要清空表单的情况,例如在弹出窗口中进行数据录入之后需要清除上一次...

    jQuery学习记录----页面缓存和中文处理(三)

    在本篇jQuery学习记录中,我们将探讨两个关键的前端开发问题:页面缓存与中文处理。这两个主题在构建高效、用户友好的Web应用时都起着至关重要的作用。 首先,让我们深入了解页面缓存。在Web应用中,缓存是一种优化...

    web前端培训教程表单序列化共4页.pdf.zip

    当用户填写完表单并提交后,这些数据需要以某种方式发送到服务器进行处理。表单序列化就是将表单控件的值组织成URL编码的字符串,以便通过HTTP请求(通常是POST或GET)传递给服务器。这样,服务器端就可以解析这些...

    jquery实现验证码功能 完整代码

    - 当用户提交表单时,jQuery通过AJAX发送当前输入的验证码到服务器进行验证。 - 服务器比较接收到的验证码与之前生成并存储的验证码是否一致,如果一致则返回验证成功的响应,否则返回错误。 4. **完整代码示例**...

    js传中文参数controller里获取参数乱码问题解决方法

    ### js传中文参数controller里获取参数乱码问题解决方法 #### 背景与问题描述 在Web开发中,前后端交互是常见的场景之一。当从前端(如JavaScript)向后端(例如Java中的Controller)传递包含中文字符的参数时,...

Global site tag (gtag.js) - Google Analytics