我正试图从http://www.premierleague.com/en-gb.html获得当前的英国顶级联赛表,但我不想要整个网站,我只想要联赛表,如果你敏锐地看到页面来源<table>
具有联盟表的标签没有id,但是有.leagueTable
类,所以我只想获得该表。
这是我的代码
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="jquery.xdomianajax.js"></script>
</head>
<body>
<div id='currentstandings'></div>
<script>
$(document).ready(function(){
loadEPLstandings();
});
function loadEPLstandings () {
$.ajax({
url: 'http://www.premierleague.com/en-gb.html',
type: 'GET',
success: function(res) {
var success = $(res).filter(".leagueTable");
$('#currentstandings').html(success);
}
});
}
</script>
但没有任何东西加载到该div上!我哪里错了? 我使用了跨域ajax jQuery plugin
当前的答案完全可以作为浏览器上的网页,但现在我希望这是一个Chrome应用,而不是打开浏览器并输入网址,我添加了一个相关的清单文件权限,但当我将我的Chrome应用程序加载到谷歌浏览器时,我遇到了死胡同。 经过几次头痛和研究后,我注意到谷歌Chrome应用程序不支持ajax(或它的一种风格)调用我必须将我的功能更改为此但它无法正常工作
function loadEPLstandings () {
document.write("Sending request");
var req = new XMLHttpRequest();
req.open("GET", "http://www.premierleague.com", true);
req.onreadystatechange = function() {
if (req.readyState == 4) {
if (req.status == 200) {
var success = $(res.responseText).find(".leagueTable")[0].innerHTML;
$('#currentstandings').html(success);
$("#currentstandings").contents().find("tr:has(p)").find("p").contents().unwrap();
}
}
};
req.send();
}
,我哪里错了?它不能作为浏览器的网页或Chrome应用程序工作吗?
答案 0 :(得分:2)
我只能看到代码中的一些问题,我已经在这里修复了......
function loadEPLstandings () {
$.ajax({
url: 'http://www.premierleague.com/en-gb.html',
type: 'GET',
success: function(res) {
var success = $(res.responseText).find(".leagueTable")[0].innerHTML;
$('#currentstandings').html(success);
}
});
}
首先,您尝试过滤res
,但这是一个对象。您需要财产responseText
。其次,我使用find()
而不是filter()
,因为它什么也没有返回。最后,我添加了[0].innerHTML
以获取jQuery选择的DOM元素并返回内部html值,因此您可以使用html()
进行设置。
答案 1 :(得分:0)
这是我的最终代码,必须删除所有<p>
代码
$(document).ready(function(){
loadEPLstandings();
});
function loadEPLstandings () {
$.ajax({
url: 'http://www.premierleague.com/en-gb.html',
type: 'GET',
success: function(res) {
var success = $(res.responseText).find(".leagueTable")[0].innerHTML;
$('#currentstandings').html(success);
$("#currentstandings").contents().find("tr:has(p)").find("p").contents().unwrap();
}
});
}