1

我有一些问题。我创建了一些使用 JSON 数组的应用程序。

语法使用 Jquery 1.9

逻辑是:从文本框(下面的 valobj 变量)获取值,然后写入 toprightsec div 区域。

$("#btnsearch").click(function() {
        valobj = $('#search_box').val();
        $.getJSON("search.php", { q : valobj }, function(data,result){
            //show result from database
            $('toprightsec').append("Title" + data.title)
                            .append("Intro" + data.intro_text);
            //end show result
        }, JSON);
    });

JSON 数组来自 PHP 结果。一些例子

{"content":[{"title":"Test Post 100","intro_text":"Intro Test"}]}

但是,它不起作用。有什么帮助吗?

提前致谢。

更新

$("#btnsearch").click(function() {
    valobj = $('#search_box').val();
    $.getJSON("search.php", { q : valobj }, function(data,result){
        //show result from database
        $('.toprightsec').append("Title" + data.content[0].title)
                        .append("Intro" + data.content[0].intro_text);
        console.log(data)
        //end show result
    }, JSON);

更新 2

$(document).ready(function () {

    $("#btnsearch").click(function() {
    valobj = $('#search_box').val();
    $.getJSON("search.php", { q : valobj }, function(data,result){
        //show result from database
        $.each(data.content, function() {
            $('.toprightsec').append("Title" + data.content[0].title)
                        .append("Intro" + data.content[0].intro_text);
        });

        //end show result
    }, JSON);
});
4

2 回答 2

2

使用以下代码:

 $('.toprightsec').append("Title" + data.content[0].title)
                            .append("Intro" + data.content[0].intro_text);

代替:

 $('toprightsec').append("Title" + data.title)
                            .append("Intro" + data.intro_text);

如果toprightsec是 id 则使用 #,如果类则使用.. 在这里你没有指定。

于 2013-06-17T10:21:40.333 回答
0

您正在使用 json 数组,因此您必须访问单个数组元素而不是整个数组:

json_array.title //WRONG 
json_array[0].title //OK

尝试类似:

$("#btnsearch").click(function() {
        valobj = $('#search_box').val();
        $.getJSON("search.php", { q : valobj }, function(data,result){
            //show result from database
            if (data.length){
                var _props = data.pop().content;
                $('toprightsec').append("Title" + _props.title)
                                .append("Intro" + _props.intro_text);
            }
            //end show result
        }, JSON);
    });
于 2013-06-17T10:22:39.843 回答