猿问

为什么我不能从此链接获取XML文档,为什么在字符串中我可以使所有标签括号都变成引号呢?

我正在做一个作业,需要我从URL http://quotes.rest/qod?category=inspire中获取数据;具体来说,<quote>和<author>标记的内容。


为此,我使用XMLHttpRequest;问题是,如果我设置xhr.responseType = 'document'(或使用xhr.responseXML),则尝试放入请求的变量变为null。


如果使用xhr.responseText,则可以字符串形式正确表示站点,并且可以解决与此有关的问题,但这并不是我打算这样做的方式。我试图将字符串解析为XML文档,但是在xhr.responseText每个<>括号中得到的字符串都替换为",导致解析产生了错误的XML文档。


请帮助我解决这两个问题之一,或者以正确的XML语法获取XML文档或字符串,非常感谢。


var doc;

var x;           


function submit() {

    var xhr = new XMLHttpRequest();

    // here adding xhr.responseType = 'document' doesn' t change the outcome

    xhr.onreadystatechange = function () {

        if (xhr.readyState === 4) {

            doc = xhr.responseXML;

        }

    }

    xhr.open('get', 'http://quotes.rest/qod?category=inspire', true);

    xhr.send();

}


function trial(){

    x = doc.getElementsByTagName("quote")[0].childNodes[0].nodeValue;

    //by this point doc is null, so I get an error here

    console.log( x );

}

<h5>Press to see the quote of the day:</h5>

<input type="submit" value="Start" onclick="submit()">

<!-- the first button fetches the data from the URL -->

<input type="submit" value="Trial" onclick="trial()">

<!-- the second one is supposed to show on console the quote -->


心有法竹
浏览 148回答 1
1回答
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答