2017-10-11 8 views
0

以下のXHRGetFetchGetファンクションの間に、最終リクエストがサーバーに送信される点は、urlですか?それらには異なるデフォルトのヘッダーなどがありますか?両方の方法をウェブクロールに使用している間に、私はfetchXMLHttpRequestよりも頻繁に失敗する傾向があることに気付きました。なぜそうであるのかわかりません。`XMLHttpRequest`と` fetch`のデフォルトのGET動作の違いは?

(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()); 
} 

ありがとうございます!

答えて

2

fetch()には、デフォルトで資格情報が含まれていません。私はhttps://github.com/whatwg/fetch/pull/585でそれを変更しようとしています。その後、これらはほぼ同じでなければなりません。 fetch()は常にUTF-8を使用しますXMLHttpRequestはもう少し寛大ですが、結果は異なる可能性があります。

関連する問題