论坛首页 AJAX版 prototype

prototype 发送XML数据的问题。

浏览 3528 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
时间:2007-11-12 关键字: xml prototype
    var tt = '<root><name>student</name><age>12</age></root>'
    var myAjax = new Ajax.Request(
                    'http://localhost:8080/server/QueryData',
                    {method: 'post', parameters: tt, onComplete: showResponse}
                    );

服务器上为什么接收的不是tt那样的数据,而是“%3Croot%3E%3Cname%3Estudent%3C%2Fname%3E%3Cage%3E12%3C%2Fage%3E%3C%2Froot%3E”?
   
时间:2007-11-12
因为客户端 encodeURIComponent 了

你在服务端再 decode一下就好了
   
0 请登录后投票
时间:2007-11-12
谢谢fins,有没有办法不用服务器decode?我好像看到微软件的altas好像就不用,直接发过去就行了。
   
0 请登录后投票
时间:2007-11-12
传utf8的xml
   
0 请登录后投票
时间:2007-11-13
谢谢fins,我把代码改成了
var tt = '<root><name>student</name><age>12</age></root>'
var myAjax = new Ajax.Request(
'http://localhost:8080/server/QueryData',
{method: 'post', parameters: tt, onComplete: showResponse,encoding: 'UTF-8'}
);
但是传到服务器上的还是和以前的一样的,不知道是什么原因。
   
0 请登录后投票
时间:2007-11-13
你这么做依然是把"<root><name>student</name><age>12</age></root>"当作字符串来传递的啊.
你用的prototype啥版本?? 我好久没用过prototype了 有点忘了
   
0 请登录后投票
时间:2007-11-13
最新版本,1.6.0,我参考了别人的软件,也是这样写的啊,不过我用的是prototype。
   
0 请登录后投票
时间:2007-11-13
这个不是encoding的问题,post get提交不管是'application/x-www-form-urlencoded'还是text/xml都会urlencode的,这个解码只能在服务器端做,比如php的$_POST默认是做了urldecode动作的,而$HTTP_RAW_POST_DATA就是原始数据,这个和Prototype没什么关系,主要看服务器端接受有没有什么默认解码一系列的
   
0 请登录后投票
时间:2007-11-13
谢谢afcn0 ,怎么样才能在服务器上设置urldecode呢?为什么我看到的代码里,和我的环境一样,也没有去设置urldecode?
   
0 请登录后投票
时间:2007-11-13
那就各不相同了,java php ruby .net都有不同的方法吧
   
0 请登录后投票
论坛首页 AJAX版 prototype

跳转论坛:
JavaEye推荐
    快速回复 引用上一条消息 (Alt+S)