在Javascript中,我正在为用户列表创建数组
var dataArr = [];
$("#sortable li").each(function(idx, elem) {
dataArr[idx] = $(elem).html();
});
alert(dataArr[0]);
这将按预期方式工作,并将提醒列表中的第一项。 “坦率”或任何形式。
$.ajax({
url: "fiddle.php",
type: "POST",
data: "dataArr="+dataArr,
success: function(response) {
alert(response);}
我将此数组发送给PHP,而ajax测试确认从另一侧的var_dump中检索到该数组。
echo ($_POST['dataArr'][1]);
在尝试输出特定项目时,这里会出现问题,在这种情况下,第二个项目可能是“ John”,它将在第一个项目“ r”中输出第二个字符。这出现在Ajax测试窗口中。我正在寻找整个词。
是语法错误还是数据传递方式有问题?
最佳答案
我认为问题与您如何在ajax调用中发送数据有关。
尝试这个:
JS
var dataArr = [];
$("#sortable li").each(function(idx, elem) {
dataArr[idx] = $(elem).html();
});
$.ajax({
url: "fiddle.php",
type: "POST",
data: dataArr, //Send just the array
success: function(response) {
alert(response);
}
});
的PHP
var_dump($_POST['dataArr']);