Javascript Wikipedia通过Ajax没有服务器响应

Javascript Wikipedia通过Ajax没有服务器响应,javascript,jquery,ajax,Javascript,Jquery,Ajax,我对JavaScript/jQuery完全不熟悉,所以作为一个不错的“HelloWorld”项目,我想构建一个网页,只需抓取一篇随机的Wikipedia文章并显示标题和第一段。通过谷歌搜索,看起来ajax就是实现这一点的方法,因此我编写了一个简单的脚本(目前有一个固定的url): $(文档).ready(函数(){ $.ajax({ 网址:'https://en.wikipedia.org/wiki/Flemingdon_Park', 键入:“GET”, 数据类型:“html”, 成功:功能(

我对JavaScript/jQuery完全不熟悉,所以作为一个不错的“HelloWorld”项目,我想构建一个网页,只需抓取一篇随机的Wikipedia文章并显示标题和第一段。通过谷歌搜索,看起来ajax就是实现这一点的方法,因此我编写了一个简单的脚本(目前有一个固定的url):


$(文档).ready(函数(){
$.ajax({
网址:'https://en.wikipedia.org/wiki/Flemingdon_Park',
键入:“GET”,
数据类型:“html”,
成功:功能(数据)
{
警惕(“成功!”);
$('#MainHeader').html($(数据).find('#firstHeader').html());
},
错误:函数(xmlHttpRequest、textStatus、errorshown)
{
var servernotreach=xmlHttpRequest.readyState==0 | | xmlHttpRequest.status==0;
如果(未到达服务器)
警报(“服务器无响应!”);
其他的
警报(错误抛出);
}
});
})

我的问题是,我只能从维基百科得到“服务器没有响应”。我试着用Postman和完全相同的url进行GET,结果返回了我所期望的html。接下来,我用同样的东西尝试了剧本。最后,我试了一下,结果成功了。我假设我在这里遗漏了一些基本的东西,但我不确定是什么。

听起来像是你在违反

试试看?如果你只是胡闹,没有安全顾虑。

就是你要找的。它有一个非常详细的文档,并支持JSONP:

  • 获取10个随机页面名:
  • 获取这些页面的前300个字符:|)已加入的标题列表>

format=jsonfm
更改为
format=json

我得到“请求的资源上不存在“访问控制允许源代码”标题”。有关更多信息,请参阅。另外=>chrome打包的应用程序(如Postman)可以具有跨域权限,这就是为什么它在那里起作用,这才是你真正想要的。@showdev-听起来像是答案,谢谢!出于好奇,为什么msn url没有相同的问题?msn.com似乎配置了
访问控制允许来源:
<script>
    $(document).ready(function () {
        $.ajax({
            url: 'https://en.wikipedia.org/wiki/Flemingdon_Park',
            type: 'GET',
            dataType: "html",
            success: function (data)
            {
                alert('Success!');
                $('#MainHeader').html($(data).find('#firstHeader').html());
            },
            error: function (xmlHttpRequest, textStatus, errorThrown)
            {
                var serverNotReached = xmlHttpRequest.readyState == 0 || xmlHttpRequest.status == 0;
                if (serverNotReached)
                    alert("No response from the server!");
                else
                    alert(errorThrown);
            }
        });
    })
</script>