1. 程式人生 > >fetch獲取json資料

fetch獲取json資料

事例:

data.json是同目錄的json檔案


fetch('data.json', {
        method:'GET',
        mode:'cors',// 避免cors攻擊
        credentials: 'include'
}).then(function(response){
	//列印返回的json資料
	response.json().then(function(data){
		console.log(data.school);
	})
}).catch(function(e){
	console.log('error: ' + e.toString());
})
{
	"school": "zafu"
}

請求的結果:

credentials的解析:來自MDN

url: https://developer.mozilla.org/zh-CN/docs/Web/API/Request/credentials

credentials 是Request介面的只讀屬性,用於表示使用者代理是否應該在跨域請求的情況下從其他域傳送cookies。這與XHR的withCredentials 標誌相似,不同的是有三個可選值(後者是兩個):

  • omit: 從不傳送cookies.
  • same-origin: 只有當URL與響應指令碼同源才傳送 cookies、 HTTP Basic authentication 等驗證資訊.(瀏覽器預設值,在舊版本瀏覽器,例如safari 11依舊是omit,safari 12已更改)
  • include: 不論是不是跨域的請求,總是傳送請求資源域在本地的 cookies、 HTTP Basic authentication 等驗證資訊.