终极解决MagicAjax提交中文表单乱码的问题(转)

magicajax0.3.0解决中文乱码 很多朋友都遇到使用magicajax中文乱码问题 现在我共享一个呵呵希望大家喜欢 以后我会上很多好东西的 谢谢大家支持 如果没分想要 联系我qq258409722 我也是没分了才要的 呵呵 立即下载

转自:http://community.hf-mstc.org/cs/blogs/shakewang/archive/2006/07/06/2931.aspx

上次,我遇到的 MagicAjax的中文问题, 当初为了演示,只是临时的使用了数字来绕过中文提交的问题,但不是最终的解决方法。今天终于忍不住这个乱码了,就打算解决它。先是到网上搜索一下,但都是说的另外一个问题。大部分人都是说把 magicajax post数据时的那个“loading...”修改成中文,出现乱码,这个好解决,这个汉字在 AjaxCallObject.js 文件里,直接把AjaxCallObject.js文件保存成utf-8就解决了。

我的问题是:页面上假如有个文本框,输入的是汉字,那么使用magicajax去提交数据到后台,在后台获取到的是乱码。打开magicajax的源码,找到 AjaxCallObject.js文件(之所以还是直接找这个文件,是因为ajax提交数据首先是通过js调用xmlhttp对象,将数据post到后台的,那么,就看看magicajax是不是把这个提交的数据进行了处理),找到使用xmlhttp提交的这段:

 
AjaxCallObject.prototype.DoAjaxCall =
function (eventTarget, eventArgument, ajaxCallType, ajaxScopeID, additionalData) {...... this .XmlHttp.open( " POST " , thePage, true ); this .XmlHttp.onreadystatechange = function (){ oThis.ReadyStateChange(); }; this .XmlHttp.setRequestHeader('Content - Type', 'application / x - www - form - urlencoded'); this .XmlHttp.send(theData); }

可以看出在这里提交了theData数据,我用alert(theData)的方法将数据在提交前显示出来,发现提交的数据都直接显示是中文,然后再跟踪程序到后台,发现就已经是乱码了,这说明这个 AjaxCallObject.js 本身并没有对这个post的数据进行编码处理。

然后,就好办了,使用jscript里的 escape()函数将待post的数据在提交前编码一下,就不会出现中文了。代码如下:

 
if ( __bPageIsStored && eName == '__VIEWSTATE' ) continue ; var type = curElem.type; var val = curElem.value; // 这里对待提交的中文进行编码 // wangzhen 2006-07-06 val = escape(val); if ( type == " submit " || type == " button " ) continue ; val = this .EncodePostData(val); if ( type == " select-multiple " || type == " select-one " ) { var selectLength = curElem.options.length; var optNameStr = this .EncodePostData(eName); for ( var j = 0 ; j < selectLength; j ++ ) if (curElem.options[j].selected) theData = theData + optNameStr + ' = '
+ escape(curElem.options[j].value) + ' & ';
// 当页面里有dropdownlist时,还有这里的编码也要处理 } else if ( (type != " checkbox " && type != " radio " ) || curElem.checked ) { theData = theData + this .EncodePostData(eName) + ' = ' + val + ' & '; }

除此之外,还要找到如下这段代码并按注释修改:

 
AjaxCallObject.prototype.EncodePostData = function (data) { // 由于已经使用了escape方法对postback的值进行了编码,这里不再替换“%” // wangzhen 2006-07-06 // return data.split("%").join("%25").split("=").join("%3d").
//split("&").join("%26").split("+").join("%2b");
return data.split( " = " ).join( " %3d " ).split( " & " ).join( " %26 " ).split( " + " ).join( " %2b " ); }

这样就解决了所有的中文乱码问题! 

SpringBoot+Vue+Mysql社区医院信息平台(源码+文档) SpringBoot+Vue+Mysql学生宿舍信息管理系统 WEB端软件项目(源码+文档) 项目包含:①完整源码(后端+管理后台+用户前台);②数据库脚本文件;③万字论文文档;④开题报告;⑤答辩PPT;⑥项目运行视频教程。 项目架构: B/S 架构、MVC 分层设计 技术栈: Java、MySQL、SpringBoot、MyBatis-Plus、Token 权限校验、管理后台 Vue+ElementUI+ECharts、用户前台 Layui+jQuery、Maven 构建。 一、角色设计 学生用户: 注册登录、浏览宿舍信息、查询宿舍安排、在线报修、缴费查询、失物招领、桶装水预订、评论交流、收藏等。 商家用户: 注册登录、桶装水品牌与商品信息维护、预订订单查看与处理。 维修人员: 注册登录、查看待处理报修、接单维修、填写报修处理结果与进度反馈。 管理员: 学生管理、班级管理、宿舍信息管理、宿舍安排管理、报修处理管理、缴费信息管理、卫生检查与文明宿舍管理、失物招领管理、桶装水与商家管理、维修人员管理、公告资讯与轮播图管理等。 二、前台功能模块(学生端) 1. 首页展示:轮播图、宿舍公告、最新动态推荐、常用服务快速入口 2. 宿舍信息模块:宿舍列表、楼栋与房间条件筛选、宿舍详情查看、我的宿舍安排查询 3. 在线报修模块:在线提交宿舍设施报修申请、上传故障描述、查看报修进度与维修处理结果 4. 缴费模块:水电等缴费记录查询、缴费状态查看 5. 卫生检查与文明宿舍:宿舍卫生检查结果公示、文明宿舍展示 6. 失物招领模块:失物信息发布、招领信息发布、详情查看、评论互动 7. 桶装水预订:桶装水品牌与商品浏览、在线预订、我的预订记录查询 8. 假期留宿:假期留校申请提交、申请记录查询 9. 评论与收藏:信息评论、查看他人评论、评论回复互动、收藏感兴趣的内容 10. 个人中心... 立即下载

相关推荐

ajax获取数据中文乱码问题最简单的完美解决方案

主要介绍了ajax获取数据中文乱码问题最简单的完美解决方案,需要的朋友可以参考下

insert乱码问题

数据库初始化脚本里面有insert 语句,做成shell运行后发现插入数据库的中文是乱码,解决方法如下: 1、SQL> select * from v$nls_parameters where parameter i...

ciwang2093的博客 676

数据挖掘实战:决策树 + 聚类 + 关联规则,零 Key 离线可跑(Python 源码)

数据挖掘实战包。用 Python 标准库实现 CART 风格决策树、K-Means 聚类与 Apriori 关联规则,在虚构「星河便利店」会员表和购物篮上跑通分类、分群与购物篮分析,并给出准确率、轮廓系数、支持度/置信度/提升度。零第三方依赖、零 API Key 即可离线跑通。含 4 个样例、离线冒烟、中文 README(含「使用方法」)。均为作者原创可运行源码。MIT。作者 blog.youkuaiyun.com/mtl1994

MagicDraw2022.x树节点显示中文乱码问题及解决方式

MagicDraw2022.x树节点显示中文乱码问题及解决方式

yuanjinshenglife的专栏 1015

产业园区如何高效对接企业技术需求与高校科研成果?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

国央企创新负责人如何快速掌握本地科技资源分布与匹配情况?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

SpringCloudGateway获取magic-api的返回结果乱码

首先,可以确定的是magic-api拿到的数据是正常的。 同样的接口,当拿到大量数据时,业务网关对dataBuffer进行转义后乱码,无法获得正确的返回结果。 但是在增加筛选条件后,减少了返回结果的内容,网关便可以获取到正确的结果 返回结果中code大于2组,便无法获取正确的内容,猜测可能的原因有两点: 1、返回结果太长被截断了 2、由于返回结果太长超出了网卡的缓冲区,被自动进行分段后,在进行传输。 博客搜索,常规解决思路如下 已经采用了该写法,未解决问题遂寻求公司大佬,以下在公司大佬的帮助下,转换解决思路

木牛马 1589

国央企创新负责人如何实现科技成果的精准识别与高效筛选?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

导出文件,后台接口返回一堆乱码

导出文件,后台接口返回一堆乱码 当做一个下载文件的功能时,后端返回的可能是一堆乱码,跟后端沟通,看怎么改,我在这里记录一下我当时的修改,机百度到的处理方案 首先前端的请求中需要设置responseType:‘arraybuffer’ 在API里封装的接口: exportManualCashData(params) { return Fetch({ url: ‘/tmp/exportManualCashData’, method: ‘get’, params: params, responseType:‘ar

jiaohuang2442的博客 2124

信创改造实战:SpringBoot项目迁移到宝兰德BES 9.5.5的完整避坑指南(附依赖与web.xml配置)

本文详细介绍了将SpringBoot项目迁移到宝兰德BES 9.5.5的完整流程,包括依赖改造、web.xml配置降级等关键步骤。通过实战案例和避坑指南,帮助开发者高效完成国产中间件适配,确保项目平稳运行。特别针对Tomcat依赖排除和BES适配器选择提供了专业建议。

weixin_30689307的博客 741

Windows用户必看:如何在WSL中完美安装CosyVoice的ttsfrd依赖(附避坑指南)

本文为Windows用户提供了在WSL中部署CosyVoice语音合成模型并解决其关键依赖ttsfrd的完整指南。文章详细介绍了从WSL环境配置、Python环境搭建、模型下载到ttsfrd深度安装与问题排查的全流程,并针对WSL特有的文件系统、权限和GPU支持问题提供了解决方案,帮助开发者高效攻克部署难题。

dell8的博客 248

终极解决MagicAjax提交中文表单乱码的问题

上次,我遇到的 MagicAjax的中文问题, 当初为了演示,只是临时的使用了数字来绕过中文提交的问题,但不是最终的解决方法。今天终于忍不住这个乱码了,就打算解决它。先是到网上搜索一下,但都是说的另外一个问题。大部分人都是说把 magicajax post数据时的那个“loading...”修改成中文,出现乱码,这个好解决,这个汉字在 AjaxCallObject.js 文件里,直接把AjaxCa...

weixin_30955341的博客 133

python-snap7 报错:can‘t find snap7 library. If installed, try running ldconfig

1、使用场景: Python 读取西门子 S7 系列 PLC 信息,会用到 snap7 库,网上也有很多案例。但是,运行时会报错:can't find snap7 library. If installed, try running ldconfig 2、解决方案: A、下载项目需要依赖的 dll、lib 文件: i、Sourceforge下载:https://sourceforge.net/projects/snap7/files/ ii、优快云下载(免费):https://dow.

蜡笔小新历险记的博客 3649

终极解决MagicAjax提交中文表单乱码的问题[zz]

   大部分人都是说把 magicajax post数据时的那个“loading...”修改成中文,出现乱码,这个好解决,这个汉字在 AjaxCallObject.js 文件里,直接把AjaxCallObject.js文件保存成utf-8就解决了。  我的问题是:页面上假如有个文本框,输入的是汉字,那么使用magicajax去提交数据到后台,在后台获取到的是乱码。打开magicajax的源

虫子的专栏 823

Spring Boot 微服务 API 网关实战:Spring Cloud Gateway 整合,搞定路由转发 + 统一认证 + 限流熔断(企业级落地)

摘要:本文详细介绍了SpringCloud Gateway在微服务架构中的核心作用与实现方案。作为API网关,它解决了服务入口分散、认证冗余、流量失控等痛点,提供路由转发、统一认证、限流熔断等能力。文章通过图书管理系统案例,演示了SpringBoot整合Gateway的全流程,包括基础路由配置、JWT全局认证、局部参数校验、Sentinel限流熔断以及Nacos动态路由等核心功能实现。特别强调了企业级落地中的关键注意事项,如路由顺序、过滤器执行顺序、HTTPS配置等。该方案能有效构建统一、安全、高效的微服务

lamehsl的专栏 1381

R | 提取文件夹内栅格数据的最小值、最大值、标准差和平均值

各位同学好,我们长需要用长时间序列栅格数据的平均值做变量的时间变化分析,用代码能够帮助我们省下很多时间。

qq_48539301的博客 449

初次 使用 magic-api 出现的问题

根据官网配置即可:快速开始 | magic-api 问题一:Expected lookupPath in request attribute "org.springframework.web.util.UrlPathHelper.PATH". 当时创建 springboot 选择的版本是 2.6.4 启动就报这错了,让后 将spring boot版本改为 2.4.5 就可以正常 访问了 问题二:使用magic-api 查询语句中包含 汉字查不到 在 yaml 中 连接数据url中设置编码格式.

m0_46115011的博客 6016

Android 11.0 app添加校验锁(输入密码才能进入app)

11.0定制化开发中客户要求给app添加锁,就是点击app 图标时,会弹出Dialog,需要输入密码才能进入app中,就是应用校验锁, 最开始想到在Launcher3中实现,但是如果更换了默认Launcher 又不行了 所以最终还是得拦截app启动Activity 从这里入手了 Launcher与APP是在两个不同的进程中,他们之间的通信是通过Binder完成的,点击Launcher上的某个APP,这时会调用Launcher的startActivitySafely方法。 public boolean sta

安卓兼职framework和app工程师的博客 1953

莫名其妙的解决了MagicDraw中文问题

 今天试用MagicDraw16,虽然前面不太顺利,但还是正常的用起来了! 先装的是16.6版本,但是网上没有找到破解,最后装16.0能正常应用。 再就是遇到了支持中文的问题。树状目录里的组件的名称全部是小方格! 在网上找到一篇文章,按里面写的操作:----------------------------------使用MagicDraw UML建模的过程中,发现输

Rugate的技术博客 4995

对偶分解算法详解及其Python实现

对偶分解算法是一种广泛应用于求解凸优化问题的有效方法,尤其在大规模数据处理和分布式计算中展现出强大的实用性。在许多实际应用中,直接求解原始问题可能由于计算复杂度过高、资源受限或问题规模过大而变得不可行。这时,对偶分解方法为我们提供了一种高效的替代方案。对偶分解算法的核心思想是将复杂的原问题转化为其对应的拉格朗日对偶问题。通过引入拉格朗日乘子并构造对偶函数,该方法在一定程度上简化了问题的求解过程。特别是,对于包含多个约束条件的大规模优化问题,对偶分解可以将原问题分解为若干个小规模、相互独立的子问题。

闲人编程的博客 1753

Python 实现生命游戏及进化模拟完整指南

生命模拟是进化计算的一个特定子集,模拟了自然界中所观察到的自然过程,例如粒子或鸟群的聚集方式。生命模拟只是用来探索和优化问题的模拟形式之一,还有很多其他形式的模拟,可以更好地建模各种过程,但它们都源于康威生命游戏 (Conway’s Game of Life)。在本节中,我们将介绍生命模拟的基本概念,并使用 Python 实现康威生命游戏。

盼小辉丶的博客 7万+

Magicodes.IE.AspNetCore之一行代码多格式导出

主要步骤 1.安装包 Install-Package Magicodes.IE.AspNetCore 2.开始配置 在Startup.cs的Configure()方法中,在UseRouting()中间件之后,注册如下中间件 public void Configure(IApplicationBuilder app) { app.UseRouting(); app.UseMagiCodesIE(); app.UseEndpoints(endpoints =>

寒冰屋的专栏 419

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Magicodes.IE.Excel 用法注意 导出Excel 组件,非常好用的.

Magicodes.IE.Excel 导出Excel 组件,非常好用的. 本人在使用过程中遇到的一些小小问题分享给大家注意的: 第一:注意字段不能有空格 第二:注意属性类型最好都是string类型 [HttpPost] [Route("[area]/[controller]/[action]")] public IActionResult DownloadEmployee(DownloadEmployeeInput input) {...

qq_23935921的博客 1816

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

Day28 XD安全学习笔记--JS 应用&原生开发&Query库&Ajax 技术&前端后端&安全验证处理

本节课讲解了前端验证绕过技巧:文件上传通过删除onchange事件和修改表单提交地址,绕过JS后缀过滤上传恶意文件;登录验证利用Ajax请求抓包,篡改响应中的infoCode从0改为1实现免登录;购物漏洞同理,通过修改返回数据绕过验证。均体现前端验证可被轻易绕过,强调安全验证应部署在后端。

一支蜉蝣的博客 340

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

大数据Spark(八十五):Stage及Spark计算模式

本文详解Spark中Stage的划分机制与Pipeline计算模式。Stage依据RDD宽依赖(Shuffle)划分为ShuffleMapStage和ResultStage,同一Stage内通过迭代器串联多个RDD,实现数据内存流转,减少落盘开销,提升效率。并行度由最后一步RDD的分区数决定,可通过Shuffle算子调优。结合SparkUI可直观分析性能瓶颈,是优化作业的关键基础。

Lansonli(蓝深李)的博客 769
上一篇: 非常全的主页设置代码和加入收藏代码
下一篇: 关于MagicAjax的用法 每10秒刷新 更改等待效果
wangrumeng
博客等级 码龄21年 33粉丝 29原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值