在下面的示例中,警报对话框根本不显示。有什么想法吗?
$.get('http://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=Earth%20Day',function(data) { alert("DATA LOADED: " + data); });
最佳答案
您的调用不起作用的原因是您正在尝试使用 jQuery 的正常 $.get
函数发出跨域请求。您需要使用 $.getJSON
并将 &callback=?
添加到 url,以便 jQuery 会将其视为 JSONP 请求:
$.getJSON(
'http://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=Earth%20Day&callback=?',
function(data) { alert("DATA LOADED: " + data); }
);
您还可以以这种方式编写您的请求,以便更具可读性。请记住 callback=?
必须位于 URL 中,并且不能与其他键/值对一起包含在对象文字中:
$.getJSON(
'http://ajax.googleapis.com/ajax/services/search/web?callback=?',
{ v:'1.0', q:'Earth Day' },
function(data) { alert("DATA LOADED: " + data); }
);
关于JQuery/$.get 不显示我的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1989175/