0

我正在使用 json 来获取数据。数据被提取,警报,然后在打字头输入框中什么也没有发生。

这是php代码

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

$数组=数组();

foreach($sq 作为 $fsq) {

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

}

回声 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 工作正常。唯一的冲突是与预先输入的代码。一旦数据被提取,没有任何事情发生,甚至没有错误显示在控制台日志中。

我在这上面浪费了很多时间。请帮忙。

4

1 回答 1

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是你的朋友。

希望能帮助到你!

于 2013-07-30T23:11:32.977 回答