`
soeight
  • 浏览: 8392 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

JQuery ajaxSubmit提交中文乱码的解决方案

阅读更多
一般使用是

jQuery(form).ajaxSubmit({
url: "ajaxsub.aspx?abc=test",

type: "post",
dataType: "json",
success: data
});

分析:JQuery的AJAX提交,会将要提交的数据进行编码,使用encodeURIComponent在js中处理数据。因此,无论是 Firefox或者IE,提交的数据都是一致的,都是UTF-8编码后的数据。

查看Header,发现Entity中的Content-Type存在差异

在Firefox中,Content-Type指定了字符集为utf-8。

而IE里面却没有任何字符集指定,

显然,默认情况下,AJAX的异步提交的字符编码应该和网页本身保持一致,也就是说,Server端在没有发现显示的charset指定的情 况下,使用gb2312来解码数据(但是数据在提交前已经被UTF-8编码了),这就是为什么在IE下会出现乱码的根源,而在Firefox下,浏览器在 提交AJAX数据的时候,加上了charset的显示指定,导致Server端采用UTF-8来解码数据(正确解码)。

查阅JQuery的AJAX工具函数的说明,发现options中有一个指定content-type的参数

所以在提交的时候要指定编码类型

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





即如下



jQuery(form).ajaxSubmit({
url: "ajaxsub.aspx?abc=test",
type: "post",
dataType: "json",
contentType: "application/x-www-form-urlencoded; charset=utf-8",
success: data
});



分享到:
评论

相关推荐

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

    总结来说,解决JQuery ajaxSubmit提交中文乱码问题的关键步骤包括: 1. 确认JQuery的ajaxSubmit方法提交数据前默认使用了UTF-8编码。 2. 明确在ajaxSubmit的options参数中指定contentType为"application/x-...

    jquery ajaxSubmit提交所用到的jquery.form.js

    在本主题中,我们重点关注的是jQuery的`ajaxSubmit`功能,它是通过`jquery.form.js`插件实现的,这个插件扩展了jQuery的核心功能,允许开发者更加便捷地处理表单提交。`jquery-1.4.2.min.js`是jQuery库的一个较早...

    JQuery AJAX提交中文乱码的解决方案

    总结来说,解决JQuery AJAX提交中文乱码问题的关键在于确保客户端和服务器端字符编码的一致性。可以通过在AJAX请求中显式地设置字符集为UTF-8来解决,从而让服务器端能够正确地解码请求中的中文字符。这不仅适用于GB...

    jquery ajaxSubmit 异步提交的简单实现

    通过使用jQuery库中的ajaxSubmit方法,可以非常方便地实现表单的异步提交。 首先,我们来理解异步提交的概念。在传统的Web应用中,提交表单通常会导致浏览器加载一个新的页面或刷新当前页面。这种机制在很多情况...

    ajaxSubmit 提交使用的文件

    ajaxSubmit 提交使用的文件,解决form提交后导致重复提交数据问题

    jQuery使用ajaxSubmit()提交表单示例

    在jQuery中,`ajaxSubmit()` 是一个扩展方法,它包含在jQuery的form插件中,用于异步提交表单数据,而不会导致页面刷新。在使用`ajaxSubmit()` 之前,需要确保已经引入了jQuery库和`jquery.form.js` 插件。以下是对`...

    jQuery ajaxSubmit 实现ajax提交表单局部刷新

    需要引入 : jquery-form.js 使用说明: Java代码 $(document).ready(function() { var options = { target: '#mydiv', // 需要刷新的区域 //beforeSubmit: showRequest, // 提交前调用的方法 //

    使用ajaxSubmit文件实现多文件的异步上传

    `ajaxSubmit`是jQuery Form Plugin的一部分,它允许我们使用Ajax技术实现表单的异步提交,包括多文件上传。这种方式不仅可以提高用户体验,因为用户无需等待页面刷新,还能有效管理服务器资源,避免一次性处理大量...

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

     //jquery的post  $.post  (  ‘server.asp’,  {  Act:’DoSubmit’,  UserName:escape(‘软件开发网’),//进行编码  WebSite:’www.jb51.net’  },  function(data)  {  alert(unescape(data)...

    jQuery中的AjaxSubmit使用讲解

    总结来说,jQuery的AjaxSubmit是实现异步表单提交的强大工具,结合AjaxForm可以提供灵活的表单处理方案。理解它们的使用方法和选项参数,有助于在开发中提升用户体验并简化代码维护。如果你在使用过程中遇到任何问题...

    JQuery.form表单提交参数详解.txt

    `ajaxForm()` 和 `ajaxSubmit()` 方法都是 JQuery Form 插件的一部分,它们可以用来处理表单的提交动作,实现 AJAX 异步提交。 - **`ajaxForm()` 方法**:此方法用于将表单的默认提交行为替换为 AJAX 提交行为。...

    jquery异步提交form表单

    jQuery的`$.ajax()`函数或`.submit()`配合`.ajaxSubmit()`方法为我们提供了异步提交表单的能力,保持页面不刷新,提高交互体验。 首先,我们来看一下`jquery.form.js`这个文件。这是jQuery Form Plugin的一个核心...

    SpringMVC+jQuery(ajaxSubmit) 异步上传图片

    ajaxSubmit是jQuery Form插件中的一个方法,专门用于异步提交表单,包括文件上传。 1. **配置SpringMVC** 在SpringMVC的配置文件中,我们需要开启Multipart支持,以处理文件上传。这可以通过添加`...

    AjaxSubmit()提交file文件

    AjaxSubmit()是一种利用AJAX技术实现无刷新表单提交的方法,特别适用于文件上传等场景。在传统的表单提交中,用户操作会导致整个页面刷新,而使用AjaxSubmit()方法可以实现在不刷新页面的情况下发送数据到服务器,并...

    Ajax-jquery-ajaxSubmit.zip

    Ajax-jquery-ajaxSubmit.zip,使用ajax和json轻松提交表单。,ajax代表异步javascript和xml。它是多种web技术的集合,包括html、css、json、xml和javascript。它用于创建动态网页,其中网页的小部分在不重新加载网页的...

    JQUERY表单提交

    JQUERY表单提交 JQuery框架应用中的Form插件是一个功能强大的官方插件,支持Ajax和Ajax文件上传,基本满足日常应用。该插件提供了多种方法来管理表单数据和进行表单提交,包括ajaxForm、ajaxSubmit、formSerialize...

    使用jQuery.form插件,实现完美的表单异步提交

    现在,我们可以使用jQuery选择器选取表单元素,并调用`.ajaxSubmit()`方法实现异步提交: ```javascript $(document).ready(function() { $('#myForm').ajaxSubmit({ type: 'POST', // 可以设置请求类型,默认为...

Global site tag (gtag.js) - Google Analytics