【发布时间】:2015-09-06 14:49:49
【问题描述】:
所以,我发送一个输入数组:
<input type="text" placeholder="Question" name="question[]" value="" />
<input type="text" placeholder="Question" name="question[]" value="" />
使用这个 Jquery 代码:
$.post("function.php",{Question:$("[name^='question']").serialize()},function(data){
$("#construct").append(data);
alert('done');
});
但是当我尝试 echo 数组的变量时,它打印不正确
PHP(函数.php):
$Question=htmlentities($_POST['Question'],ENT_QUOTES,"UTF-8");
echo $Question[0]."<br>";
echo $Question[1]."<br>";
现在假设我们在输入中输入“Hello”和“Bye”,所以它应该返回“Hello”和“Bye”,但它返回的是“q”和“u”。
var_dump 的输出是:
string(39) "question%5B%5D=Hello&question%5B%5D=Bye"
编辑 1
如果我使用.serialize(),我总是会得到“q”和“u”,但如果我使用.val(),我会得到每个单词的第一个和第二个字母
编辑 2
我什至尝试了没有htmlentities()的PHP代码,但结果和以前一样。
【问题讨论】:
-
在你的问题中显示
var_dump(($_POST['Question']);的输出 -
@JohnConde 我用
var_dump输出编辑了我的帖子 -
为什么我会投票失败?????
标签: php jquery arrays ajax echo