我是JavaScript / jQuery的新手,所以作为一个不错的“HelloWorld”项目,我想构建一个网页,它只是抓取随机的维基百科文章并显示标题和第一段。谷歌搜索,看起来像ajax是这样做的方式,所以我写了简单的脚本(现在有一个固定的URL):
<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>
我的问题是我只能从维基百科获得“服务器无响应”。我尝试使用Postman和完全相同的URL进行GET,并且按照我的预期返回了html。接下来我用http://stackoverflow.com尝试了脚本,但同样的事情。最后,我尝试http://www.msn.com并且 工作了。我假设我在这里缺少一些基本的东西,但我不确定是什么。
答案 0 :(得分:0)
听起来你违反了Cross Origin Resource Sharing
试试JSONP?如果你只是搞乱并且没有安全问题。
答案 1 :(得分:0)
http://en.wikipedia.org/w/api.php正是您要找的。它有一个非常详细的文档,并支持JSONP:
|
)加入了标题列表&gt; 将format=jsonfm
更改为format=json
。