我正在尝试显示YQL查询中的内容。但是,我在文本字段中输入的值在提交时返回值 undefined ,从而导致YQL查询失败。
除了这个问题之外,我不知道如何在我的代码的这一部分中为getJSON函数选择回调函数中数据参数的标题:
//Return the JSON results of the YQL query
$.getJSON(restQuery, function(data) {
//Display the returned results in the searchResults div
$("#searchResults").html(data);
});
以下是我的代码的JSFiddle:http://jsfiddle.net/JAS4H/30/
提前感谢您的帮助!
答案 0 :(得分:0)
我已经清理了一下你的代码。
$(function() {
function search(term) {
var query = 'SELECT title FROM search.web WHERE query="' + term + '"',
url = 'http://query.yahooapis.com/v1/public/yql?q=' + encodeURIComponent(query) + '&format=json&diagnostics=true&callback=cbfunc';
$.get(url, function(data) {
$('#searchResults').html(data);
});
}
$('#search').live('submit', function() {
search($('#searchInput').val());
return false;
});
});
演示: http://jsfiddle.net/JAS4H/33/
正如您所看到的,响应数据不是JSON - 这就是为什么$ .getJSON()不起作用的原因。例如,如果您搜索" cars",您将收到此回复:
cbfunc({"查询" {"计数":10,"创建":" 2011-02-21T20:40:16Z&# 34;"郎":" EN-US""诊断":{" publiclyCallable":"真" " URL&#34 ;: {"执行时间":" 779""内容":" HTTP://老板。 yahooapis.com/ysearch/web/v1/cars?format=xml&start=0&count=10"},"user-time":"781", 34;服务时间":" 779""建立版本":" 11323"}"结果":{& #34;导致":[{"标题":"新 &安培;二手车销售,汽车经销商, 汽车评论和汽车 ..."},{"标题":"汽车 (动画)"},{"标题":" AutoTrader"},{"标题":"新 汽车,二手车,蓝皮书价值观和 汽车价格 - 凯利 ......"},{"标题":"汽车 - 维基百科,免费 百科全书"},{"标题":"汽车津贴 回扣系统(CARS)"},{" title":"使用 汽车 - 二手车价格,二手车 价值观和评测 ..."},{"标题":" Edmunds.com"},{"标题":"汽车 出售,二手车出售,新车 出售......"},{"标题":"研究新 汽车与汽车二手车:汽车价格, 规格..."}]}}});
这是JSONP我相信......