为什么我的Json结果后出现语法错误?

时间:2010-04-13 19:01:04

标签: javascript jquery ajax json

我正在使用Json从数据库中检索数据,构造一些html,并将其放到页面中,但是我的标签后面出现语法错误,这是字符串中的最后一个标签来自我的php文件。

PHP:

if($QString == "")
{
    $query = "SELECT * FROM categories";
    $result = mysql_query($query);

    while($row = mysql_fetch_array($result, MYSQL_ASSOC))
    {
        $categories="<a href=" . '"' . "?catID=" . $row['catID'] . '"' . ">" . $row['CatName'] . "</a><br>";
        echo $_GET['jsoncallback'] . $categories;
    }
}

jQuery的:

var jSon = {};

$(function(){
    jQuery.jSon.getjSon();
});

jQuery.jSon = {
    getjSon : function () {
        $.getJSON('http://host6.spellnet.net/links/list.php?jsoncallback=?', function(json) {
        eval(json.data);
    });
}

任何帮助将不胜感激。我越来越近了。

3 个答案:

答案 0 :(得分:1)

你在eval(json.data);

之后缺少一个大括号

使用此:

jQuery.jSon = {
    getjSon : function () {
        $.getJSON('http://host6.spellnet.net/links/list.php?jsoncallback=?', function(json){eval(json.data);});
 }
}

答案 1 :(得分:0)

不要使用getJSON功能;请改用$.get函数。它具有相同的界面。从本质上讲,getJSON正试图解析你的函数,你不需要这样做,因为它是JSONp。

一切顺利

答案 2 :(得分:-2)

JSLint可以帮助您找到问题所在。粘贴到您的结果中,看看它告诉您的内容。