巴哈姆特

首頁 哈啦區 程式設計板

【問題】js fetch和 cors policy ---header Access-Control-Allow-Origin 問題

追蹤話題

【問題】js fetch和 cors policy ---header Access-Control-Allow-Origin 問題

網頁開發
Loordb (yuchinchen) 2021-10-05 15:42:07
#1
const getRawData = (URL) => {
   return fetch(URL, {
         method: "GET",
         mode: 'cors',
         headers:{'Access-Control-Allow-Origin':'*'},
         


      })
      .then((response) => response.text())
      .then((data) => {
         return data;
      });
};

瀏覽器上:
from origin 'null' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.

但是我Access-Control-Allow-Origin已經加入header了 請問有人看出是哪裡出問題了嗎(是Local server 所以排除security issue)

看較舊的 3 則留言

~跡~: B4 2021-10-05 19:46

你有電腦開http服務的話,用自己的伺服器去抓對方伺服器的資料,js只跟自己的伺服器拿資料。

~跡~: B5 2021-10-05 19:46

就是用自己的後端代理抓資料的意思

Loordb: B6 2021-10-05 21:29

那如果我是要對外部網頁?

~跡~: B7 2021-10-05 22:02

用你的後端去連外面的網頁

~跡~ (ReMem) 2021-10-05 22:35:46
#2

名詞

  • 目標網站:別人的網站,想從這邊抓資料,但是他沒有設定 Access-Control-Allow-Origin
  • 代理伺服器:自己的伺服器,可以是已上線的機器或是 localhost,重點是可以運行自己寫的後端程式
  • 客戶端網頁:瀏覽器拿到的網頁內容,裡面有 JS

第一種狀況:客戶端網頁跟代理伺服器同網域

  1. 客戶端網頁透過 ajax 向代理伺服器要資料
  2. 代理伺服器收到請求後,向目標網站發出請求要資料。
  3. 代理伺服器收到目標網站回應的資料後,把這些資料回應給客戶端網頁

第二種狀況:客戶端網頁跟代理伺服器不同網域

同第一種狀況,唯一差別只有代理伺服器回應給客戶端網頁時,要送 Access-Control-Allow-Origin
~跡~: B2 2021-10-06 11:02

如果自用,改瀏覽器設定或是裝外掛也是可以。

延伸閱讀

心得看過這支影片再說你不懂傅立葉轉換

2023-11-07 19:19:06

【推廣】_你願意支持做對公衆有益的事嗎? (core-js)

2023-03-01 01:51:29

問題php+js+sql

2019-09-18 10:19:14

心得js學得好痛苦 該怎麼調適?

2024-07-22 17:20:02

問題想問下大家js如何寫蜜蜂繞圈但(移速、方向)自訂

2019-10-09 00:10:18

電梯
開啟 APP

face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】