gpt4 book ai didi

javascript - 发送 ajax 请求检索整个页面时未获得完整响应

转载 作者:行者123 更新时间:2023-12-03 03:30:07 24 4
gpt4 key购买 nike

我正在使用 J-Query Ajax。我想做的是,我正在发送一个请求来获取我在 bitbaysolutions.com 上托管的页面的整个 html 数据。问题是,当我加载this时URL 和类型 document.getElementsByTagName("div");我在控制台中得到了 37 div 元素的列表。但是当我向同一个 URL 发送 ajax 请求并按 $(response).find('div'); 过滤 div 元素时然后我得到的 div 元素列表减少到 25 和我需要的类名 ._myresult 的 div不见了。当我简单地发送请求而不对其进行过滤时,并将结果输出为 console.log(response);然后我得到整个 html 数据,并且我需要获取的 div 元素就在那里。当我尝试过滤该 div 时,$(response).find('._myresult'));然后我得到的是这样的:

[prevObject: n.fn.init(35), context: undefined, selector: "._myresult"]
context:undefined
length:0
prevObject:(35) [text, title, text, link, text, meta, text, link, text, link, text, script, text, script, text, script, text, div#login, text, div#signup, text, comment, text, div.fb-reg, text, comment, text, div._myresult, text, div#thanks, text, div#thanks_login, text, script, text]
selector:"._myresult"
__proto__:Object(0)

从上面的结果中你可以看到该过滤器的长度为0,甚至你可以看到div._myresult存在于 html 中,我无需过滤即可获取它。但是当我尝试提取时,我没有获得所需的元素。

我尝试过的 J-Query Ajax

$.ajax({
method:"get",
url: "http://www.bitbaysolutions.com",
complete : function(){},
success: function(response){
var data = response;
console.log(data);
//console.log($(data).find('div'));
//console.log($(data).find('._myresult'));
}
});

You can visit this URL and type document.getElementsByClassName('_myresult') or document.getElementsBytagName('div') to check for the class I need and the number of div elements present there.

Note: I have displayed the https://www.bitbaysolutions.com page in my chrome extension page in an iframe. Like : <iframe src="http://www.bitbaysolutions.com" id="myiframe" style="width: 100%;height: 100%;position: fixed;top: 0;left: 0;border:none;overflow-y:scroll; "></iframe> and I making the cross origin Ajax requests which is possible in extensions only.

总而言之,我需要通过Ajax请求获取类名为._myresult的div元素。这就是我所需要的。

最佳答案

$.get("http://bitbaysolutions.com/", function(page) {
$(page).find("div").each(function(){
console.log( this.className );
});
});

调用此函数后,我根本没有得到 _myresult div,就像 wOxxOm 所说,它必须在页面加载后以某种方式动态添加。

您可以使用上面的代码尝试通过您正在使用的扩展页面获取您的 div。替换每个函数并正确选择您的 div,它可能会找到它,因为整个页面是通过 iframe 加载的,就像您所说,因此脚本也会运行并且应该加载所有内容。

关于javascript - 发送 ajax 请求检索整个页面时未获得完整响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46138078/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com