我正在使用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帮助。
答案 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
是您的朋友。
希望它有所帮助!