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

时间:2017-09-10 06:53:53

标签: javascript jquery html ajax google-chrome-extension

我正在使用J-Query Ajax。我想要做的是,我发送请求获取我在 bitbaysolutions.com 上托管的页面的整个html数据。问题是,当我加载this网址并输入document.getElementsByTagName("div");时,我会在控制台中获得 37 div元素的列表。但是当我向这个相同的URL发送ajax请求并按$(response).find('div');过滤div元素时,我得到的div元素列表减少到 25 ,div我需要的是类名{{ 1}}丢失了。当我只是发送请求而不过滤它,然后输出结果为._myresult然后我得到整个html数据,并且我需要得到的div元素存在于那里。当我尝试过滤那个div为console.log(response);时,我得到的就是这个:



$(response).find('._myresult'));




从上面的结果中你可以看到该过滤器的长度是0,甚至你可以看到html中存在[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),我可以在不过滤的情况下得到它。但是当我尝试提取时,我没有得到所需的元素。

我试过的J-Query Ajax



div._myresult




  

您可以访问此URL并输入$.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')); } });document.getElementsByClassName('_myresult')来检查我需要的课程以及那里的div元素数量。

     

注意:我在iframe的Chrome扩展程序页面中显示了https://www.bitbaysolutions.com页面。比如:document.getElementsBytagName('div')我做的是交叉源Ajax请求,这些请求只能在扩展中使用。

总结一切,我需要通过Ajax请求获取类名为 ._ myresult 的div元素。这就是我所需要的一切。

1 个答案:

答案 0 :(得分:1)

                 <MapView
                    provider={PROVIDER_GOOGLE}
                    style={styles.map}
                    region={{
                        latitude: this.props.initialPosition.latitude,
                        longitude: this.props.initialPosition.longitude,
                        latitudeDelta: Latitude_Delta,
                        longitudeDelta: Longitude_Delta
                    }}
                    zoomEnabled={true}
                    minZoomLevel={5}
                    maxZoomLevel={20}
                    showsMyLocationButton={true}
                    showsUserLocation={true}
                    ... ... ...
                   >
                   {... ... ... ...}
                   </MapView>

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

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