CORS (跨域資源共享) 是一種瀏覽器技術,用于在不同域之間共享資源。例如,當您使用 JavaScript 從一個域向另一個域發(fā)出 AJAX 請求時, CORS 可幫助您獲取響應信息。CORS的一個問題是,它可能阻止某些請求,因為瀏覽器從請求頭看到一個請求來自一個不允許的源。
JSON (JavaScript 對象表示法) 是一個輕量級數(shù)據(jù)交換格式。它被廣泛應用于瀏覽器和服務器之間的數(shù)據(jù)交換。由于 JSON 的簡單性和易于解析, 它成為了首選的數(shù)據(jù)格式。JSON 是一種文本格式,它是由鍵/值對組成的對象列表。
fetch('https://example.com/data.json') .then(response =>response.json()) .then(data =>console.log(data)) .catch(error =>console.error(error))
使用 fetch 請求遠程 JSON 文件的最簡方法是先發(fā)出 GET 請求。然后在響應數(shù)據(jù)中將數(shù)據(jù)解析為 JSON。你可以在 .catch() 中捕獲由于 fetch 請求失敗而引發(fā)的錯誤。
如果您需要將該請求發(fā)送到不同的源, 您需要使用 CORS。在服務器上, 需要設置 Access-Control-Allow-Origin header, 指定允許的來源。在客戶端, 您可以添加 fetch 請求的 mode 選項為 'cors' 以允許跨域請求。
fetch('https://example.com/data.json', { mode: 'cors' }) .then(response =>response.json()) .then(data =>console.log(data)) .catch(error =>console.error(error))
這里是發(fā)出 GET 請求的示例, 它將請求的 mode 選項設置為 'cors' 。響應數(shù)據(jù)被解析為 JSON。在 .catch() 中捕獲在請求過程中引發(fā)的錯誤。