我正在使用 jQuery,jQuery-UI 自动完成以及此链接作为源
https://www.google.com/finance/match?matchtype=matchall&callback=callback&q=aa&_=1379423108762
这是我的代码:
$("#searchinput").autocomplete({
source: function (request, response) {
var q=request.term;
$.ajax({
type: "GET",
// url: "http://d.yimg.com/autoc.finance.yahoo.com/autoc", for http use only
url: "https://www.google.com/finance/match?matchtype=matchall",
data: {q: q},
dataType: "jsonp",
contentType: 'application/json; charset=utf-8',
jsonp : "callback",
jsonpCallback: "callback",
});
// call back function
callback = function (data) {
var suggestions = [];
//alert(JSON.stringify(data.matches));
$.each(data.matches, function(i, val) {
suggestions.push("Name:"+ val.n+" #Symbol:"+val.t+" #Exchange:"+val.e);
});
response(suggestions);
}
},
minLength: 1,
select: function (event, ui) {
$("#searchinput").val(ui.item.value.split("#")[0]);
},
});
出现以下错误
Uncaught SyntaxError: Unexpected token :
在这里你可以看到错误图片:http://i.stack.imgur.com/NYMPG.jpg
最佳答案
URL 未返回 JSON-P。错误消息是因为 JSON-P 通过加载远程 JavaScript 来工作(这不是 URL 返回的内容)。
因为你不是谷歌,你不能让那个 URL 返回 JSON-P。
我建议 alternative approaches to getting the data , 但谷歌 don't provide an API for that data所以你会走进违反服务条款的领域。
关于javascript - Google 财务匹配错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18850850/