作者tn801534 (踢恩)
看板Ajax
标题[问题] ajax post send的parameter
时间Mon Jul 7 09:15:12 2008
parameters='action=edit§ion=new&title=hello&text=hello&format=xml&token='
+ edittoken;
上面这是我send的parameter
token是+\
可是接收的页面收到的却是\\
我有setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
然後我自己在这个页面印出parameters是这样
action=edit§ion=new&title=hello&text=hello&format=xml&token=+\
好像是因为§会被当作那个符号 不过送过去section是有接收到
所以应该跟这没有关系
token要怎麽样才能正确的送过去呢?
用encodeURIComponent跟encodeURI编码edittoken好像也不行
这个问题卡了我快一个星期了...
-------------------------------------------------------------------------
我在responsetext印出来的结果是这样
<?
echo $_POST['title'].'<br>';
echo $_POST['section'].'<br>';
echo $_POST['action'].'<br>';
echo $_POST['text'].'<br>';
echo $_POST['format'].'<br>';
echo $_POST['token'].'<br>';
?>
hello
new
edit
hello
xml
\\
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.211.217.211
※ 编辑: tn801534 来自: 218.211.217.211 (07/07 09:15)
※ 编辑: tn801534 来自: 218.211.217.211 (07/07 09:17)
※ 编辑: tn801534 来自: 218.211.217.211 (07/07 09:43)
1F:→ fillano:用encodeURIComponent函数把"+\\"编码 07/07 09:46
2F:→ tn801534:还有edittoken不能改喔...是系统产生的 07/07 09:46
3F:→ tn801534:用encodeURIComponent收到的是+\\我送的是+\... 07/07 09:48
4F:→ TonyQ:把会出问题的用特定字串替换 到达後端之後再解码 07/07 10:03
5F:→ tn801534:可是後端的那个接收页面事实上不能改说...所以我才用ajax 07/07 10:09
6F:→ tn801534:特定字串是什麽意思? 07/07 10:09
7F:→ TonyQ:後端页面不能改,送过去的字串又不合法,那可说就没救了=.=a 07/07 10:34
8F:→ TonyQ:举例: -> 把 \ 换成 %%1 到後端再把%%1 replace回 \ 07/07 10:37
9F:→ TonyQ:诸如此类的作法,有时候碰到一些特别的字串又懒得找html 07/07 10:37
10F:→ TonyQ:escape word的时候就会这样做 07/07 10:37