使用AJAX从二维PHP数组创建一个二维jQuery数组

我正在使用jQuery,AJAX和PHP来更新事件下拉框的内容。 我的代码当前触发事件并使用AJAX调用PHP函数,该函数进入数据库并获取与下拉列表的每个成员相关联的记录。

我现在可以将这个二维数组(每个数组中包含列数组的记录数组)返回给我的jQuery函数,但是我不知道如何将数组转换为我可以使用的数组。

调用AJAX的jQuery代码:

var element= $('select[name=elementName]'); var data = 'inData=' + element.val(); // Call AJAX to get the info we need to fill the drop downs by passing in the new ID $.ajax( { type: "POST", url: "ops.php", data: "op=getInfo&" + data, success: function(outData) { // WHAT DO I DO HERE TO CONVERT 'outData' INTO A 2-DIMENSIONAL jQUERY ARRAY?? }, error: function() { } }); 

PHP代码:

 $sqlResults= mysql_query("SELECT data FROM table WHERE id='".$_POST['inData']."'"); $outData = array(); // Fill the data array with the results while ($outData[]= mysql_fetch_array($sqlResults)); // echo the data to return it for use in the jQuery file echo $outData; 

发布的代码工作正常 – 我只是不知道如何在jQuery中读取’outData’。

在此先感谢您的帮助!!

JSON可以做到这一点,但为什么不从另一个角度看呢?

如果您正在ping PHP以获取更新信息,只需让PHP在您的选择框中输出您想要的选项值。 然后使用jQuery AJAX的HTML返回到.html()将结果放入select元素中。

有两种不同的方法可以给猫皮肤,我会认为这种更简单的方法可以让你有更多时间来做更多的jQuery魔法。

你看过json_encode吗?

 echo json_encode($outData); 

这会将它转换为jQuery对象,可以通过jQuery读取。

你正在寻找json

 //php echo json_encode($outData); //javascript $.ajax({ type: "POST", url: "ops.php", data: "op=getInfo&" + data, dataType: "json", success: function(outData) { console.log(outData); //this will be an object just like //your php associative array }, error: function() { } }); 

jQuery无法读取PHP数组的回显。 在输出之前使用json_encode

  echo json_encode($outData); 

这是jQuery实际上可以解析为响应的格式。