Javascript json


Javascript json

有人知道这不起作用吗?我已经试了好几天了。

function loadContent(obj, getcmt)
{
var params = $(obj).attr('href').split('?');
$.get(BASE_DIR+'content/load.php?'+params[1],
     function(json) {
       var result = eval('('+json+')');
       if (result.returnval == 1) {
         $('#content').fadeOut('fast', function() { $(this).html(result.content).fadeIn('slow'); });
       }
    });
return false;
}

Firebug只给出一个错误"属性列表后缺少}"并链接到jquery。另一个调试器显示json是原因。

非常感谢您的帮助!

编辑:

顶部工作正常,但以下不工作:

<div id="content">
    <a href="{$content.item_url}" onclick="return loadContent2(this, 'page', '2')">
</a>
</div>

如果onClick中的单引号不在那里,它是如何工作的。像这样:

<div id="content">
    <a href="{$content.item_url}" onclick="return loadContent2(this, "page", "2")">
</a>
</div>

但是,有问题的函数loadContent2不起作用。

使用jQuery的内置工具尝试一下:

function loadContent(obj, getcmt) {
    var params = $(obj).attr('href').split('?');
    $.getJSON(BASE_DIR+'content/load.php?'+params[1], function(json) {
        if (json.returnval == 1) {
            $('#content').fadeOut('fast', function() { 
                $(this).html(json.content).fadeIn('slow');
            });
        }
    });
    return false;
}

这使用了非常棒的$.getJSON()

如果有问题,请检查您的回复:

$.getJSON(BASE_DIR+'content/load.php?'+params[1], function(json) {
    console.debug(json);
});