`

AJAX URL路径 中文

阅读更多
AJAX中文问题分为两大类:
1)发送路径中的参数有中文,在服务器段接收参数值是乱码

例如:
var url="a.jsp?name=小李";
xmlHTTP.open ("post",url,true);
解决办法:
利用javascript的提供的escape()或encodeURI()方法
例如:
客户端:
var url="a.jsp?name=小李";
url=encodeURI(url);
url=encodeURI(url); //两次,很关键[具体为什么,我也不清楚]
/********************************************/
也有人写成var url="a.jsp?name=escape("小李")";
功能和encodeURI方法类似。
/********************************************/
xmlHTTP.setrequestheader("cache-control","no-cache");
xmlHTTP.setrequestheader("Content-Type","application/x-www-form-urlencoded");
xmlHTTP.setrequestheader("contentType","text/html;charset=uft-8")//指定发送数据的编码格式
xmlHTTP.open ("post",url,true);
服务器端:
String name = request.getParameter("name");
name = java.net.URLDecoder.decode("name", "UTF-8");

2)返回来的responseText或responseXML的值中含有中文是乱码
原因:AJAX在接收responseText或responseXML的值的时候是按照UTF-8的格式来解码的,如果服务器段发送的数据不是UTF-8的格式,那么接收responseText或responseXML的值有可能为乱码。
解决办法:在服务器指定发送数据的格式:
在jsp文件中:
response.setContentType("text/text;charset=UTF-8");//返回的是txt文本文件
或是
response.setContentType("text/xml;charset=UTF-8");//返回的xml文件

总结:1)ajax提交数据的格式默认为utf-8,利用javascript的提供的escape()或encodeURI()方法.在服务器端接收的时候要使用java.net.URLDecoder.decode("","UTF-8")方法进行解码.
2)xtmlhttp 返回的数据默认的字符编码是utf-8,所以服务器要向客户端发送数据的时候,也要采用utf-8编码
如果上述方法仍然解决不了乱码问题,那你尝试一下把jsp,htm,java文件用UTF-8编码格式保存.
总之:前后台数据交互都采用utf-8编码就行了.



本文是我抄自CSDN博客http://blog.csdn.net/jiaoxiaguoke/archive/2009/12/31/5110991.aspx
分享到:
评论

相关推荐

    ajax经典实例+代码大全

    路径是:${ajax}\ajax\WEB-INF\classes\ajax_db.properties,用记事本打开。那个${ajax}就是你当前存放ajax这个文件夹的路 径 DRIVERS=com.mysql.jdbc.Driver URL=jdbc:mysql://localhost/ajax?useUnicode=true&...

    AJAX中文乱码问题探讨及解决

    AJAX中文问题分为两大类: 1)发送路径中的参数有中文,在服务器段接收参数值是乱码 例如: var url=”a.jsp?name=小李”; xmlHTTP.open (“post”,url,true); 解决办法: 利用javascript的提供的escape()或...

    还不错的ajax分页类

    一个通过ajax来实现的分页类 使用方法: AjaxPage::ajaxpager($...$url:该方法所在路径 $class:要显示在页面上那个div中的class属性值 true:如果需要类文件中自带的有关ajax的js代码就写true,不需要就什么都 不用写

    asp.net ajax异步上传文件demo

    如出现object error错误 请检查function.js submitUrl参数的提交路径是否正确! 如果上传大文件请修改web.config下system.web节点的如下参数 useFullyQualifiedRedirectUrl="false" minFreeThreads="8" ...

    Ajax异步请求响应.java

    (method 表示请求方式, url 请求路径, asynch 是否异步,对于 asynch 的值通常不会设置, 默认是true,表示异步发送请求) send(content) :向服务器发送请求 属性: onreadystatechange :状态回调函数 ...

    ajax实现excel报表导出

    利用ajax实现excel报表导出【解决乱码问题】,供大家参考,具体内容如下 背景 项目中遇到一个场景,要导出一个excel报表。由于需要token验证,所以不能用a... url : url,//路径 contentType: application/json, dat

    layui将table转化表单显示的方法(即table.render转为表单展示)

    现有一个 table.render({ id : 'table', ...最简单直接用ajax请求,确保url路径正确 $.ajax({ dataType:'json', type:'post', url:url, data:{'Id': $data.Id}, success:function (data) {

    X3BLOG AJAX国产大型开源多用户博客系统 1.1.0.beta1编译版

    自主研发的中文分词技术,速度超过3MB/s,准确率达到90%以上,大大超过网上各种开源中文分词技术,几乎可 以和中科院的ICTCLAS相媲美,结合当前最成熟的Lucene的.net版本,实现了功能强大执行快速的全文检索引擎。...

    jQuery Ajax Post 回调函数不执行问题的解决方法

    本文是小编给大家带来的jQuery Ajax Post 回调函数不执行的原因及解决方法,在本文最下面还给大家附加jquery Ajax 不执行回调函数success的原因,这两个问题都非常多见,感兴趣的朋友一起看下吧

    jquery ajax TreeView asp.net改进版

    url: "AjaxWrapperPages/AsyncGetTreeNodes.aspx", //请求节点的页面,如果没有改变文件路径 不用关心 cbiconpath: "lib/jquery/plugins/treeview/images/icons/", //同上 checkbox icon的目录位置 //icons: [...

    创建公共调用 jQuery Ajax 带返回值

    代码如下: [removed] /* 请求Ajax 带返回值,并弹出提示框提醒 ————————————————–*/ function getAjax(url, parm, callBack) { $.ajax({ type: ‘post’, dataType: “text”, url: url, data: ...

    ajax post下载flask文件流以及中文文件名问题

    ajax post下载文件 后端返回文件流,flask中可使用 return send_file(文件路径) 返回二进制文件流,在headers中传送文件相关信息(如文件名)。 前端使用 URL.createObjectURL() 创建创建一个 DOMString ...

    typoscript_rendering:通过URL渲染TypoScript路径,对于Ajax调度特别有用

    该扩展提供了在给定记录上下文中呈现任意TypoScript路径的可能性。 这对于通过AjaxRequest渲染插件特别有用 作曲家的安装 composer require helhum/typoscript-rendering只是composer require helhum/typoscript-...

    Ajax-typoscript_rendering.zip

    Ajax-typoscript_rendering.zip,按url呈现打印脚本路径,特别适用于ajax调度,ajax代表异步javascript和xml。它是多种web技术的集合,包括html、css、json、xml和javascript。它用于创建动态网页,其中网页的小部分在...

    ajax缓存问题解决途径

    我用PHP和Ajax结合,添加数据之后,刷新前台... 并且在你的JS提交参数中加随机或是时间字符串 url+”?timeStamp=”+new Date().getTime(); 您可能感兴趣的文章:AJAX 缓存问题的两种解决方法(IE)防止jQuery ajax Load

    迷你聊天室程序ajax chatroom

    2.高效,使用ajax技术传输数据,服务器负担较小 3.保存聊天记录到php文件(不会被下载) 4.可以设置文字样式 5.显示在线用户 6.支持发送图片 7.完全支持IE6+ ,Firefox,Opera,Safari等主流浏览器 改进 --------...

    XML,XSLT,AJAX三大技术打造开源多用户博客X3BLOG

    自主研发的中文分词技术,速度超过3MB/s,准确率达到90%以上,大大超过网上各种开源中文分词技术,几乎可以和中科院的ICTCLAS相媲美,结合当前最成熟的Lucene的.net版本,实现了功能强大执行快速的全文检索引擎。...

    thinkPHP5框架实现基于ajax的分页功能示例

    本文实例讲述了thinkPHP5框架实现基于...url路径 query url额外参数 fragment url锚点 var_page 分页变量 type 分页类名 $caseDetails = CaseDetails::where(['status'=>1])->paginate(9,false,['path'=>'

    ajax中get和post的说明及使用与区别

    谈Ajax的Get和Post的区别 Get方式: 用get方式可传送简单数据,但大小一般限制在1KB下,数据追加到url中发送(http的header传送),也就是说,浏览器将各个表单字段元素及其数据按照URL参数的格式附加在请求行中的...

    docker-shellinabox:Docker 容器为 shellinabox 提供基于 Web 的 AJAX 终端模拟器

    #####SHELLINABOX_SERVICE_HOST 启用并定义 docker 主机服务可用的 url 路径。 #####SHELLINABOX_SERVICE_LOCAL 启用并定义本地容器服务可用的 url 路径。 #####SHELLINABOX_SERVICE_WHO 启用并定义“who”服务...

Global site tag (gtag.js) - Google Analytics