簡體   English   中英

文檔元素之后的垃圾。如何避免在vanilla javascript中使用ajax get(XMLHttpRequest)進行XML解析?

[英]Junk after document element. How to avoid XML parsing with ajax get (XMLHttpRequest) in vanilla javascript?

Firefox和AJAX垃圾文件元素之后

我有與上述問題完全相同的問題,但出於不同的原因。

重申問題:

我有一些html文件:

<style> #hat { color: red; } </style>
<script> var hat = "fez"; </script>

我正在通過香草ajax電話進行檢索:

var request = new XMLHttpRequest();
request.open('GET', target, true);

request.onload = function() {
    if (request.status >= 200 && request.status < 400) {
        // Success!
        var response = request.responseText;
    } else {
        // We reached our target server, but it returned an error
    }
};

request.onerror = function() {
   // There was a connection error of some sort
};

request.send();

這是在控制台中拋出一個錯誤:

junk after document element

我根本不想解析html文件。 我已經嘗試過搜索非XML HttpRequest方法,但我可以在這個主題上找到JQuery。 也許像TextHttpRequest這樣的東西只是檢索文本而不解析它? 或者也許有辦法告訴XMLHttpRequest解析是不必要的?

這似乎應該是非常明顯的,但我只是繼續在使用jquery的ajax上找到教程。

這是MDN的鏈接

你需要做的就是在.send()之前添加這一行:

request.responseType = 'text';

這對我有用:

var request = new XMLHttpRequest();

// add a responseType here
request.responseType = 'text';

request.open('GET', target, true);

request.onload = function() {
    if (request.status == 200) {
        // Success!
        var response = request.responseText;
        document.body.innerText = response;
    } else {
        // We reached our target server, but it returned an error
           alert('there was an error in the response.\n\n Error: ' + request.status);
    }
};

request.onerror = function() {
   // There was a connection error of some sort
   alert('there was an error in the request');
};

request.send();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM