将GET HTML响应转换为文档

时间:2017-03-31 16:10:53

标签: javascript jquery html ajax

我正在开发一个页面,它读取另一个页面的来源,我需要从该页面中提取某些信息。我目前有这个项目使用数据来获取实时源,但是我不知道如何将这个字符串转换为文档。

我使用文档的理由是我需要使用getElementById等来获取这些项目的价值。

我尝试了什么?

  1. 将HTML分配给我页面上的不可见div。虽然它不会呈现整个HTML字符串并提供此页面的“更短”再现,但这种工作方式仍然有效。

  2. 手动查找子字符串。你可以想象这是一种糟糕的做事方式,并提供非常不可靠的结果。

  3. DOM解析器转换文档然后查询它,但是失败了。

  4. 任何协助都会受到重视。

    相关代码:

    $.ajax({
      method: "GET",
      dataType: '',
      crossDomain: true,
      xhrFields: {
        withCredentials: true
      },
      success: function(res) {
        //shows the entire source just fine.
        console.log("Value of RES: " + res);
        bootbox.hideAll();
        //shows a "truncated" copy of the source
        alert(res);
        $("#hiddendiv").html(x);
        var name = document.findElementById("myitem");
        alert(name);
      },
    

2 个答案:

答案 0 :(得分:0)

在文档上创建隐藏的IFRAME。然后将该IFRAME的内容设置为要查询的HTML。在进行查询时,使用您的javascript定位IFRAME。请参阅How can I access iframe elements with Javascript?了解具体方法。

答案 1 :(得分:-2)

另一个(可能更好)选项是使用jQuery。 jQuery允许您创建HTML,操作它,并在内存中查询它。在jQuery中查询DOM元素比在纯javascript中查询更容易。请参阅:http://jquery.com/

//Get a jQuery object representing your HTML
var $html = $( "<div><span id='label'></span></div>" );

//Query against it
var $label = $html.find( "#label" ); //finds the span with and id of 'label'