jquery - $.ajax() : Origin null is not allowed

标签 jquery ajax

我刚刚开始使用$.ajax()。这是我的代码:

<html>
<head>
    <title>Commons app</title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script>
</head>
<body>
<script type='text/javascript'>
    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!'); });
});
</script>
</body>
</html>

由于某种原因,我收到以下错误消息:

XMLHttpRequest cannot load http://commons.wikimedia.org/w/api.php?action=query&generator=allimages&gailimit=4&gaifrom=T&prop=imageinfo&iiprop=url&callback=?. Origin null is not allowed by Access-Control-Allow-Origin.

最佳答案

更新:此方法从 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

附注谢谢你提出了一个好问题!我相信它对我将来也很有用。

关于jquery - $.ajax() : Origin null is not allowed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7752527/

相关文章:

jquery - 可调整大小的左右箭头样式

javascript - Backbone.js - 无法触发集合中的事件

javascript - 如何使用 Struts2 从 Apache Tomcat 服务器动态更新 div 文本内容

javascript - 在这种情况下,是否有替代全局变量的良好做法?

javascript - VueJS : How can I get the parameter of the class that was clicked on?

javascript - 如何通过一次提交提交多个表单?

jquery - 使用jQuery,WordPress oEmbed和Ajax在div中预览视频

javascript - JSON 数组到 Mustache

php - PHP/Ajax匿名函数,迭代会导致错误? +如何在使用Ajax时显示标准PHP错误

javascript - Jest 中的 XMLHttpRequest 测试