$ .ajax():不允许原点为null
我刚开始使用$.ajax()
。 这是我的代码:
Commons app if($) console.log('jQuery loaded!\n'); $(function () { $.ajax({ url: 'http://en.wikipedia.org/w/api.php?action=query&list=allimages&ailimit=5&aifrom=Albert&aiprop=dimensions|mime&format=jsonfm&callback=?' }) .done(function () { console.log('Yay!'); }) .fail(function () { console.log('Error!'); }) .always(function () { console.log('Complete!'); }); });
出于某种原因,我收到以下错误消息:
XMLHttpRequest无法加载http://commons.wikimedia.org/w/api.php?action=query&generator=allimages&gailimit=4&gaifrom=T&prop=imageinfo&iiprop=url&callback= ?, Access-Control-Allow-Origin不允许使用null。
更新:此方法已从jQuery 1.9中弃用。 不再工作了。
老答案:
试试这个(更新):
$.support.cors = true; $(function () { $.ajax("http://commons.wikimedia.org/w/api.php?action=query&generator=allimages&gailimit=4&gaifrom=T&prop=imageinfo&iiprop=url&callback=?") .complete(function () { alert('complete'); }) .error(function () { alert('error'); }) .success(function (data) { alert(data); }); });
有关jQuery.support.cors设置的更多信息: jQuery.support
PS感谢一个很好的问题! 我相信它在将来对我也有用。
您需要了解AJAX请求的跨域限制,这将阻止您出于安全原因在后台加载任意网站。 有关更多信息,请参见此处
旧答案 :
当你使用$(foo)
你需要用foo
指定你要修改的元素。 您可能正在寻找的是这样的:
$(document).ready(function(){ // do something }
一旦文档完成设置其DOM结构,这将执行这些function。