0

我正在使用 json、jquery 和 ajax 将一个多维数组传回一个 .php 文件。我的目标本质上是用多个条目填充一个下拉框(id=project)。以下是一些代码片段:

$("#turninId").change(function() {

        var user_id = $("#turninId").val();

        $.ajax ( {
          url:"send_input.php",
          type: "POST",
          dataType: "json",
          data:{id_selection: user_id},
          success:function(response) {

            for (var i=0; i<response.proj.length; i++) {
              $("#exp").html(response.proj[i]);
              $("#project").html(response.proj[i]); } });

     });

在 send_input.php(后端)中,我查询一个数据库,并将信息发送到一个数组。然后我使用 json_encode。

$query="SELECT project FROM main";
$results = $db->query($query);
while ($row_id = $results->fetchArray()) {
       $proj_option[] = "<option value=\"".$row_id['project']."\">".$row_id['project']."</option>\n";
           $pselected=$row_id['project'];
}
$output = array( "proj" => "$proj_option");
echo json_encode($output);

我的问题是,这是返回字符串“数组”。

例如,如果我这样做:response.proj[0],我会返回“A”。

是什么赋予了?我见过一些人对此错误有疑问,但没有明确的解决方案。有什么帮助吗?

4

1 回答 1

1

这是因为您$proj_option通过将字符串括在引号中来转换为字符串。只需删除引号,您将获得数组。

于 2012-07-31T16:35:43.933 回答