繁体   English   中英

&PHP的帖子收到问题

[英]& php post receive problem

我的ajax请求是

ajaxRequest.send("var1=" + var1.value + "&var2=" + var2.value + "&var3=" + var3.value); 

但浏览器将请求发送为

var1= hello&var2= world&var3=1

php端接收数据作为发布

$variable1 = $_POST['var1'];
$variable2 = $_POST['var2'];
$variable3 = $_POST['var3'];

只有第一个变量接收数据。 这两个变量不接收任何数据。

我知道发送请求的正确格式是

var1= hello&var2= world&var3=1 

但是,为什么浏览器附加了一些无用的字符,使php端无法识别已发送的内容?

使用urlencode会发生什么?

您可以先将数据字符串放入变量中,然后再输入可验证的urlencode并将该变量传递给ajaxRequest.send

问题是您的&符号在将请求发送到浏览器之前已编码。 这样,下一个变量将无法识别。 相反,第一个变量包含: hello&var2= world&var3=1 我不知道您使用的是哪个JavaScript库,但是在我看来,您使用的是错误的函数参数(也许您需要注入对象而不是字符串?),或者函数对字符串的编码错误。

jQuery的ajax方法为例,查询参数作为对象传递,如下所示:

var data = { 'var1' : var1.value, 'var2' : var2.value };
$.ajax('/ajax/', { 'data': data});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM