1

我正在使用 php 文件获取数据库数据。当我使用 jquery 加载该 php 文件时,该数据将显示在 listview 中的同一列表项中。我有多个标题,但它显示在单个列表项中。当我在我做错的文件中使用$.each它的显示错误时。jquery-1.9.1.min.js错误为: TypeError:invalid 'in' operand e 。

js代码:

$.ajax({
    type: "GET",
    url: "index.php",
    datatype: "jsonp",
    success: function(json) {
        $.each(json, function(i, data) {
    $("#section_list").append('<li><a href="#" id="'+ i +'"><h2>' + data.Subject + ' </h2></a></li>');
        });
    $("#section_list").listview('refresh');
}
});

php代码:

<?php
    class db extends SQLite3
    {
        function __construct() {

            $this -> open('database.db');
        }
    }

    $db = new db();
    if (!$db) {
        echo $db-> lastErrorMsg();

    }
    else
    {
    }

    $sql =<<<EOF
      SELECT distinct(Subject,Category) from Data;
EOF;

$ret = $db->query($sql);

while($row = $ret->fetchArray(SQLITE3_ASSOC) ){
      echo $row['Subject'] ."<br />";

   }

  $db->close();
?>

提前致谢。

4

1 回答 1

0

我猜每个都不适用于 json 对象...试试这个:

$.each($.parseJSON(json), function(i, data) {
    //your code here
}

...很难,我不认为你的 php 给出了 json ...如果它只是一个字符串试试

var split = json.split("<br />");

$.each(split, function(i, data) {
    //your code here
}

...如果您不确定,请执行console.log(json)

于 2013-09-23T07:32:01.473 回答