如何只使用Javascript AJAX请求获取文件的一部分(没有jQuery)

时间:2017-07-30 16:06:28

标签: javascript ajax

我已经检查了谷歌和答案和教程,我知道如何使用jQuery通过AJAX获取文件的一部分,但是我找不到任何关于如何使用普通JS进行操作的说明。

我试过了:

xhr.open('GET', 'https://website.html .my-class');

不起作用,通过ID查找元素也不起作用。

xhr.open('GET', 'https://website.html');

这将返回整个文件。

我没有尝试缓存和分割整个返回的文件,我怀疑无论如何都会有效。

那么,这是怎么做到的?当然可能,对吧?

2 个答案:

答案 0 :(得分:2)

您可以使用DOMParser()document创建HTML XMLHttpRequest.responseText,然后使用document.querySelector()document.querySelectorAll()document中检索特定选择器}

var file = `data:text/html,
           <!DOCTYPE html>
             <html>
               <body>
                 <div class="my-class">my class</div>
               </body>
             </html>`;

var request = new XMLHttpRequest();
request.open("GET", file, true);
request.onload = function() {
  var html = request.responseText;
  var parser = new DOMParser();
  var doc = parser.parseFromString(html, "text/html");
  var el = doc.querySelector(".my-class");
  document.body.appendChild(el);
}
request.send();

答案 1 :(得分:0)

我建议你使用jquery。更少的时间 或者,您可以使用Web API的DOMParser对象 https://developer.mozilla.org/it/docs/Web/API/DOMParser
这会解析您的文件text / html,然后您可以搜索您想要的课程