gpt4 book ai didi

javascript - `XMLHttpRequest` 和 `fetch` 的默认 GET 行为之间的区别?

转载 作者:行者123 更新时间:2023-12-01 02:56:15 26 4
gpt4 key购买 nike

下面的 XHRGetFetchGet 函数在发送到 url 服务器的最终请求方面有什么区别吗?他们有不同的默认 header ,或者类似的东西吗?在使用这两种方法进行网络抓取时,我注意到 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() 默认情况下不包含凭据。我希望在https://github.com/whatwg/fetch/pull/585中改变这一点。之后这些应该几乎相同。 (还有一些解码差异。fetch() 将始终使用 UTF-8。XMLHttpRequest 稍微宽松一些。不过,这不应该导致失败,只是可能会产生不同的结果字符串。)

关于javascript - `XMLHttpRequest` 和 `fetch` 的默认 GET 行为之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46684904/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com