Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/431.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript `XMLHttpRequest`和`fetch`的默认获取行为之间的差异?_Javascript_Xmlhttprequest_Fetch Api - Fatal编程技术网

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
更为宽松。但这不会导致失败,只是可能会导致不同的结果字符串。)