我有这段代码:
$(document).ready(function(){
$("#search_input").autocomplete({
source: function(request, response) {
$.ajax({
url: 'http://query.yahooapis.com/v1/public/yql',
dataType: 'JSONP',
data: {
format: 'json',
q: 'select * from xml where url="http://google.com/complete/search?hl=nl&output=toolbar&q=' + encodeURIComponent(request.term) + '"'
},
success: function(data) {
response($.map(data.query.results.toplevel.CompleteSuggestion, function(item) {
return { label: item.suggestion.data, value: item.suggestion.data };
}));
}
});
}
});
});
由于某种原因,它不能与Jquery 1.4一起使用,但它与1.7一起使用这是因为这个因为JSONP没有引入1.4吗?如何使其与1.4一起使用? 这是小提琴JsFiddle
答案 0 :(得分:2)
你有两个问题:
jQuery ____
,Choose framework
代码的关键部分是由jQuery本身引起的:
在jQuery 1.4中,响应是一个字符串。要使代码在旧的jQuery版本中工作,请在success
处理程序中添加一行:
success: function(data) {
if (typeof data == 'string') data = $.parseJSON(data);