dojo.io.bind的编码问题-cfans -JavaEye技术社区

来源:百度文库 编辑:神马文学网 时间:2024/04/20 07:48:26
dojo.io.bind的编码问题
关键字:   dojo bind 编码
网摘记录一下,出处http://www.ajaxbbs.com/blog/?p=18
----------------------
AJAX留言板今天增加了后台的删除功能,明天增加回复功能。
这个AJAX留言板目前用到了dojo,本来用原生Js也可以完全做到,但为了熟悉AJAX框架,开始采用dojo,权当练练手。使用中也确实发现,dojo确实省去了好多重复的东西,比如创建xhr对象等等,不过框架过于庞大,熟悉起来有一定难度,需要一个过程。
今天在调试时,看到有网友留言,显示内容为乱码;比较郁闷,因前几天因乱码问题已经解决了,为何又出现了呢?原来用的是原生JS,看来有可能是dojo的问题。
先简单介绍一下dojo.io模块
dojo.io.bind模块:处理请求并处理取回的数据,用法如下:
Usage Example:
dojo.io.bind({
url: “http://localhost/test.html“, //要请求的页面地址
mimetype: “text/html”, //请求的页面的类型,应该设置为与你请求页面类型对应的mimetype,默认为 “text/plain”,也可为”text/xml”
method:”GET”, //默认为”GET”
sync: false, //默认为异步执行
useCache: false, //默认为不使用页面缓存,注意这里的缓存并不是浏览器的缓存,而是Dojo自身所维护的页面缓存
preventCache: false, //默认为启用浏览器缓存,否则将通过自动增加不同的参数来确保浏览器缓存失效
timeoutSeconds: 3000, //3秒后超时,如果为0则永不超时
load: function(type, data, evt) { alert(data); }, //type should be “load”, data is that we wanted
error: function(type, error) { alert(error.message); }, //error is dojo.io.Error
timeout: function(type) { alert(”请求超时!”); }
});
详细的使用方法回头整理一下再发出来吧。先接着说乱码的解决方法。
经过用google搜索”dojo.io.bind charset”,找到一篇文章,是dojo官方网站的maillist,地址在这里:http://dojotoolkit.org/pipermail/dojo-interest/2005-November/002156.html,标题是dojo.io.bind encoding。
文中写到:
Thank you Martin, Bob and David!
I did some test, it looks like dojo.io.bind doesn’t support those two
characters encoding. I think I will try to dig into the source code. If I
find anythiing I’ll let you know.
Siyan
作者遇到了象我一样的问题,即dojo.io.bind的编码问题。
回复如下(我就是根据这个方法解决的)
> > > On Nov 28, 2005, at 7:33 PM, David Schontzler wrote:
> > >
> > > > Right now you can specify either UTF or ASCII encoding. Encoding
> > > gets
> > > > pretty hairy and we’ve tried to mimic the browser as much as
> > > possible,
> > > > but I probably missed something. You can try switching between the
> > > two
> > > > by setting encoding on the bind call:
> > > >
> > > > dojo.io.bind({
> > > > url: “…”,
> > > > encoding: “utf-8″,
> > > > …
> > > > });
> > > >
> > > > That’ll give you UTF-8 encoding (the default is ASCII anyhow). If
> > > you
> > > > want to set this option globally, you can do so in djConfig:
> > > >
> > > > djConfig = {
> > > > bindEncoding: “utf-8″,
> > > > …
> > > > }
即一个是在dojo.io.bind中加参数 encoding: “utf-8″,另一个是配置djConfig,增加一行:bindEncoding: “utf-8″,这两种方法我都分别试过,都可以。但这两个在官方的文档中好象没有说明。
上文中有一句话”the default is ASCII anyhow”,指dojo.io.bind默认的是ascii编码,应该是这个原因造成的,不知为何不默认为utf-8。
不管怎样终于解决了。编码问题总是比较烦人。
dojo.io.bind的编码问题-cfans -JavaEye技术社区 使用DOJO在java webwork项目中无刷新提交尝试-cfans -JavaEye技... 使用rails时碰到的几个常见的问题--补充中-airport -JavaEye技术社区 使用Eclipse的几个必须掌握的快捷方式 改默认编码 - doggou - JavaEye技术网站 Eclipse编码格式修改(转) - - JavaEye技术网站 oracle的编码问题 tftp32的问题Can't bind the tftp port XRuby发布了!-dreamhead -JavaEye技术社区 再说一些 J2EE-mazhao -JavaEye技术社区 java面试题-andyaohui -JavaEye技术社区 MemCached 压力测试-eddie -JavaEye技术社区 [转帖]Jvm Tuning-feidi -JavaEye技术社区 语音编码技术的分类 Tomcat 实用小技巧-路是爬出来的(无花) -JavaEye技术社区 一个production模式下的Ror环境搭建-airport -JavaEye技术社区 请问对于实际的Web项目应该怎样进行TDD-读书.编程.思考 -JavaEye技术社区 忘掉金山词霸,推荐一款免费小巧的词霸软件 - 灵格斯词霸 英语学习 -JavaEye技术社区 jspsmart字符编码的问题 ubuntu下更改mysql默认编码(字符集) - hain - JavaEye技术网站 面向Java开发人员的Ajax:Ajax的Java对象序列化-Menjoy‘s 技术文摘 -JavaEye技术社区 Java Web Service之客户端实现-schnell18 -JavaEye技术社区 Window.ShowModalDialog使用手册-键盘寄生物 -JavaEye技术社区 Freemarker在web.xml配置说明-kenshinlk -JavaEye技术社区 ubuntu7.04上配置proftpd手记-zjumty -JavaEye技术社区