利用的是XMLHttpRequest對象來請求數據的。
關於ajax https://segmentfault.com/a/11...ajax
window的一個方法 主要特色是
一、第一個參數是URL
二、第二個參數可選參數 能夠控制不一樣的init對象
三、使用了js 中的promise對象json
fetch(url).then(function (response) { return response.json() //執行成功第一步 }).then(function (returnedValue) { //執行成功的第二步 }).catch(function (err) { //中途的任何地方出錯 都會在這裏被捕獲到 })
注意:
fetch 的第二參數中
一、默認的請求爲get請求 能夠使用method:post 來進行配置
二、第一步中的 response有許多方法 json() text() formData()
三、Fetch跨域的時候默認不會帶cookie 須要手動的指定 credentials:'include'segmentfault
使用fetch以後獲得的是一個promise對象 在這個promise對象裏邊再定義執行成功的時候是什麼。下面是正確的fetch的使用方法跨域
var promise=fetch('http://localhost:3000/news', { method: 'get' }).then(function(response) { return response.json() }).catch(function(err) { // Error :( }); promise.then(function (data) { console.log(data) }).catch(function (error) { console.log(error) })
一、fetch()返回的promise將不會拒絕http的錯誤狀態,即便響應是一個HTTP 404或者500
二、在默認狀況下 fetch不會接受或者發送cookiespromise
一、全部的IE瀏覽器都不會支持 fetch()方法
二、服務器端返回 狀態碼 400 500的時候 不會reject瀏覽器