正确提取Json数据但是bootstrap typeahead没有弹出数据?

时间:2013-07-28 04:17:46

标签: jquery json bootstrap-typeahead

我正在使用json来获取data.Data被提取,警报然后在typehead输入框中没有任何事情发生。

这是php代码

  

sq = $ wpdb-> get_results($ wpdb-> prepare(“SELECT * FROM wp_posts where post_type ='post'和post_title LIKE'%{$ q}%'”));

     

$阵列=阵列();

     

foreach($ sq as $ fsq){

     

$ array [] = array(“id”=>“$ fsq-> ID”,“text”=>“$ fsq-> post_title”);

     

}

     

echo json_encode($ array);

这是Jquery

                            jQuery('.searchh').typeahead({


                            source: function (query, process) {

                                jQuery.ajax({
                                    url: 'wp-content/themes/wordpress-bootstrap-master/field2.php',
                                    type: 'POST',
                                    dataType: 'JSON',


                                    data: 'query=' + query,
                                    success: function (data) {


                                        jQuery.each(data, function (index, data) {
                                            console.log(data['text']);

                                            process(data['text']);

                                        });


                                    }


                            },
                            minLength: 1,
                            items: 9999,
                            onselect: function (obj) { console.log(obj) }




                        })

正确地拉取数据。这意味着json正常工作。唯一的冲突是类型前导码。数据被拉起,没有任何事情发生,甚至在控制台日志中都没有显示错误。

我浪费了很多时间.Plz帮助。

1 个答案:

答案 0 :(得分:0)

问题是你没有从AJAX success返回任何内容。试试这个:

jQuery('.searchh').typeahead({
    source: function (query, process) {
        return jQuery.ajax({
            url: 'wp-content/themes/wordpress-bootstrap-master/field2.php',
            type: 'POST',
            dataType: 'JSON',
            data: 'query=' + query,
            success: function (resp) {
                var items = [];
                jQuery.each(resp, function (index, item) {
                    items.push(item['text']);
                });
                console.log(items);
                return process(items);
            }
        });
    },
    minLength: 1,
    items: 9999,
    onselect: function (obj) { 
        console.log(obj) 
    }
});

请记住,console是您的朋友。

希望它有所帮助!