Php AJAX POST和Plus(+;)以及(&;)Sign如何编码?
我通过Php AJAX POST和Plus(+;)以及(&;)Sign如何编码?,php,ajax,post,decode,encode,Php,Ajax,Post,Decode,Encode,我通过AJAX将表单字段的内容发布到PHP脚本中,并使用以下代码 if(!http) http = CreateObject(); nocache = Math.random(); http.open('post', 'addvm.php'); http.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); ht
AJAX将表单字段的内容发布到PHP脚本中,并使用以下代码
if(!http)
http = CreateObject();
nocache = Math.random();
http.open('post', 'addvm.php');
http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
http.setRequestHeader("Content-length", params.length);
http.setRequestHeader("Connection", "close");
http.onreadystatechange = SaveReply;
http.send(params);
问题是,任何+和&
标志都被剥离并更换。如何安全地对+和&
符号进行“编码”,然后在PHP端对其进行适当的“解码”
js:encodeURIComponent(/*url*/)代码>
php:urldecode(/*url*/)代码>尝试:
js:encodeURIComponent(/*url*/)代码>
php:urldecode(/*url*/)代码>需要对参数进行编码encodeURIComponent
注意:-在PHP中访问$\u GET、$\u POST或$\u REQUEST时,您正在检索已解码的值 需要对参数进行编码encodeURIComponent
注意:-在PHP中访问$\u GET、$\u POST或$\u REQUEST时,您正在检索已解码的值 只需将代码的最后一行更改为:http.send(encodeURIComponent(params));//然后,如果您愿意,可以在服务器上用urldecode捕获它……在处理post请求的php脚本中尝试以下操作:foreach($\u post as$key=>$value)$\u post[$key]=urldecode($value);您将在$\u POSTcheck out here:中对其进行解码,并查看“自己尝试”!,还有:@metaforce:see bro我只想解码到我的密码$password=$\u POST[“password”];我在这里可以做什么@metaforce:notworkinghttp.send(encodeURIComponent(params));只需将代码的最后一行更改为:http.send(encodeURIComponent(params));//然后,如果您愿意,可以在服务器上用urldecode捕获它……在处理post请求的php脚本中尝试以下操作:foreach($\u post as$key=>$value)$\u post[$key]=urldecode($value);您将在$\u POSTcheck out here:中对其进行解码,并查看“自己尝试”!,还有:@metaforce:see bro我只想解码到我的密码$password=$\u POST[“password”];我在这里可以做什么@metaforce:notworkinghttp.send(encodeURIComponent(params));