首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ajax完全处理后读取HTML

问Ajax完全处理后读取HTML
EN

Stack Overflow用户
提问于 2014-08-12 02:57:30
回答 2查看 92关注 0票数 0

我正在尝试将网页的HTML内容加载到域外,使用jQuery插件http://www.ajax-cross-origin.com/提供的功能可以很好地完成这一任务。但是,当我打印出HTML时,会丢失一些内容,我认为这是因为ajax请求在页面完全加载之前就得到了HTML。当我说“片段丢失”时,我的意思是有些应该有innerHTML的标签实际上没有。这是我的密码:

代码语言:javascript
复制
$.ajax({
    crossOrigin: true,
    url: "http://siriusxm.com/bpm",
    success: function(data) {
        console.log(data);
    },
    timeout: 5000
});

crossOrigin属性来自我提到的插件。有和没有超时的情况下,我得到了相同的行为(而且奇怪的是,似乎超时并没有做任何事情--当我检查控制台时,它几乎立即记录data )。

在获得内容之前,是否有一种等待页面完全加载的方法?不管它有什么价值,这都是我正在开发的chrome扩展的一部分,所以如果还有其他代码方面的问题,您可能需要问一问。

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-08-12 03:54:33

因此,根据您的评论,您要寻找的信息只是现在的演奏艺术家和歌曲,你将无法通过加载仅仅是主页的来源。

要找到您要查找的数据,只需打开您的Chrome DevTools,转到网络选项卡,然后刷新查看页面上的所有请求。

看起来这是您想要的请求,您只需要每分钟更新时间戳:http://www.siriusxm.com/metadata/pdt/en-us/json/channels/thebeat/timestamp/08-12-03:48:00

只要解析那个json就能得到你想要的东西。当然,他们总是可以更改文件的位置或格式,但现在情况就是这样。

票数 1
EN

Stack Overflow用户

发布于 2014-08-12 03:17:53

如果控制台日志显示了您要查找的所有数据,那么ajax调用应该是可以的。

成功回调中的任何代码都将在ajax调用之后运行,所以只需在成功回调函数中使用JQuery将数据插入到html中即可。我现在看到的只有console.log(数据),除非您已经删除了一些代码。

超时只会让ajax调用在“超时”之前完成一定的时间,换句话说,它告诉ajax调用在设定的时间之后停止等待。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25255466

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档