XMLHttpRequest.send()里的POST参数包含特殊字符怎么办?

godspeed1024 2011-04-29 03:19:25
某个实现登录功能的WAP页面,其主要部分如下所示:
<anchor>登录<go href="http://pt5.3g.qq.com/microblogLogin?&sid=Ae_5OZcfmXhrx3u_8eRLJ2nx" method="post">
<postfield name="sid" value="Ae_5OZcfmXhrx3u_8eRLJ2nx"/>
<postfield name="qq" value="$qq" />
<postfield name="pwd" value="$pwd" />
<postfield name="q_from" value="mblog" />
<postfield name="modifySKey" value="0" />
<postfield name="loginType" value="3" />
<postfield name="aid" value="nLoginHandle" />
<postfield name="go_url" value="http://ti.3g.qq.com/g/s?aid=h" />
<postfield name="login_url" value="http://pt.3g.qq.com/s?aid=nLogionmb&sid=Ae_5OZcfmXhrx3u_8eRLJ2nx&hiddenPwd=false&q_from=mblog&goUrl=http%3A%2F%2Fti.3g.qq.com%2Fg%2Fs%3Faid%3Dh&loginTitle=%E8%85%BE%E8%AE%AF%E5%BE%AE%E5%8D%9A" />
</go></anchor>

我想不用它这个登录页而改用自己做的页面实现登录。既然已知了URL和POST参数,那就应该可以用XMLHttpRequest对象来直接发送POST请求。但是POST请求的参数是写在send()方法里的,用&把不同参数隔开:xmlHttpRequest.send("param1=value1¶m2=value2¶m3=value3)……而这里出现的某些参数如login_url,里面本身就含有&。
像这样POST请求参数值中本身包含了特殊字符的情况怎么办?还能直接如上述拼接吗?
...全文
1118 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
lisatisfy 2011-05-03
  • 打赏
  • 举报
回复
把分隔&写成&
lisatisfy 2011-05-03
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 hongmei85 的回复:]
好多手机都是不支持js的,或把支持js功能关闭了,所以还是建议在wap中不使用js。
[/Quote]
没错。最好不要在wap中使用js
hongmei85 2011-04-30
  • 打赏
  • 举报
回复
好多手机都是不支持js的,或把支持js功能关闭了,所以还是建议在wap中不使用js。
toury 2011-04-30
  • 打赏
  • 举报
回复
以前读《大学》时,总是不明白什么叫“格物致知”,结识楼主后,恍然大悟:啊,原来这就是传说中的格物啊!............哈哈哈
godspeed1024 2011-04-29
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 toury 的回复:]
引用 3 楼 godspeed1024 的回复:

谢谢LS。不过发现不用encode直接拿原文也没问题

哈哈,例外都是你的理啊。没问题不是更好吗?
[/Quote]

当然更好,算意外之喜喽。

不过我应该进一步研究一下,不用encode的话服务端是否能正确地取出这个参数。我不清楚这个应用的服务器端是怎么做的,说不定它根本就不处理那个有问题的参数。 治学态度严谨的我觉得应该亲手写个Servlet试验一下, hiahia~~
toury 2011-04-29
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 godspeed1024 的回复:]

谢谢LS。不过发现不用encode直接拿原文也没问题
[/Quote]
哈哈,例外都是你的理啊。没问题不是更好吗?
godspeed1024 2011-04-29
  • 打赏
  • 举报
回复
谢谢LS。不过发现不用encode直接拿原文也没问题
toury 2011-04-29
  • 打赏
  • 举报
回复
我没查escape()可加密的字符是否包含&;如果不行就用encodeURI();
如果还不行再试试encodeURIComponent()
toury 2011-04-29
  • 打赏
  • 举报
回复
var data="param1="+escape(value1)+"¶m2="+escape(value2)+"¶m3="+escape(value3)
xmlHttpRequest.send(data)

52,781

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧