从JSON获取结果,JQUERY不起作用

时间:2013-06-17 10:15:42

标签: php jquery mysql json

我有一些问题。我创建了一些消耗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);
});

2 个答案:

答案 0 :(得分: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,则使用#和if类,然后使用.。在这里你没有指明。

答案 1 :(得分: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);
    });