Javascript `XMLHttpRequest`和`fetch`的默认获取行为之间的差异?
下面的Javascript `XMLHttpRequest`和`fetch`的默认获取行为之间的差异?,javascript,xmlhttprequest,fetch-api,Javascript,Xmlhttprequest,Fetch Api,下面的XHRGet和FetchGet函数在发送到url服务器的最终请求方面是否有任何区别?它们是否有不同的默认标题或类似的内容?在使用这两种方法进行web爬网时,我注意到fetch比XMLHttpRequest更容易失败,我不知道为什么会这样 (async () => { console.log( await XHRGet("https://stackoverflow.com") ); console.log( await fetchGet("https://stackoverfl
XHRGet
和FetchGet
函数在发送到url
服务器的最终请求方面是否有任何区别?它们是否有不同的默认标题或类似的内容?在使用这两种方法进行web爬网时,我注意到fetch
比XMLHttpRequest
更容易失败,我不知道为什么会这样
(async () => {
console.log( await XHRGet("https://stackoverflow.com") );
console.log( await fetchGet("https://stackoverflow.com") );
})();
function XHRGet(url) {
return new Promise(resolve => {
let req = new XMLHttpRequest();
req.addEventListener("load", function() { resolve(this.responseText); });
req.open("GET", url);
req.send();
});
}
function fetchGet(url) {
return fetch(url).then(res => res.text());
}
谢谢 fetch()
默认情况下不包括凭据。我希望能改变这一点。在那之后,这些应该几乎相同。(也存在一些解码差异。fetch()
将始终使用UTF-8。XMLHttpRequest
更为宽松。但这不会导致失败,只是可能会导致不同的结果字符串。)fetch()
默认情况下不包括凭据。我希望能改变这一点。在那之后,这些应该几乎相同。(也存在一些解码差异。fetch()
将始终使用UTF-8。XMLHttpRequest
更为宽松。但这不会导致失败,只是可能会导致不同的结果字符串。)