Fetch

更新 發佈閱讀 6 分鐘

直接結論:此路不通。 我知道 fetch 寫起來很優雅,也是現代標準,但在跨伺服器 (Cross-Origin) 且 對方伺服器沒開 CORS (Access-Control-Allow-Origin) 的情況下,fetch 會被瀏覽器直接殺死。 這不是你程式碼寫錯,而是瀏覽器底層的安全機制 (Same-Origin Policy) 擋住了你。 為了讓你徹底死心(或是驗證你的伺服器有沒有開權限),我把標準的 fetch 寫法給你。你可以試一次,然後看 Console 的報錯。 🧪 實驗用代碼:用 Fetch 挑戰跨域 請將這段 JS 放在你的 .ascx 裡執行: function tryFetch(rType, qYear, qMonth, who) { var url = 'http://ntcoaap20/pscc/RDPTCRpt/ReportViewer'; // 準備參數 var formData = new URLSearchParams(); formData.append('ReportType', rType); formData.append('queryYear', qYear); formData.append('queryMonth', qMonth); formData.append('applyer', who); console.log("🚀 Fetch 發射中..."); fetch(url, { method: 'POST', body: formData, mode: 'cors', // 告訴瀏覽器這是跨域請求 credentials: 'include' // 【關鍵】這行是為了存 Cookie/Session }) .then(response => { // 如果伺服器沒設定 CORS Headers,程式碼會在這一行之前就報錯,跑進 catch if (!response.ok) throw new Error('Network response was not ok'); return response.json(); }) .then(data => { console.log("🎉 奇蹟發生了!Server 回傳:", data); // 如果能執行到這,代表對方伺服器有開 CORS,你就可以用 window.open(data.redirecturl) }) .catch(error => { console.error("💀 任務失敗:", error); alert("Fetch 失敗!原因:跨域被擋 (CORS) 或 混合內容錯誤"); }); } 🔮 我預測你會看到的結局 當你按下按鈕,F12 Console 會有 99% 的機率出現這行紅字: > Access to fetch at 'http://ntcoaap20/...' from origin 'http://你的網站...' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. > 為什麼會這樣?(技術真相) * CORS 檢查: 瀏覽器發現你在 A 站呼叫 B 站的 API。它會檢查 B 站的回應表頭有沒有寫 Access-Control-Allow-Origin: http://你的網站。 * 現況: 舊的 ASP.NET WebForms 應用程式 (ntcoaap20) 通常預設不會加這個表頭。 * 結果: 瀏覽器攔截回應,丟出 Error。 * Cookie 寫入失敗: 就算你用了 credentials: 'include',如果 CORS 檢查沒過,瀏覽器為了安全,絕對不會把 B 站回傳的 Set-Cookie 寫入瀏覽器。 * 結果: Session 沒存進去。之後你開報表頁面,會因為沒有 Session 而顯示空白或錯誤。 ⚡ 總結 * 同網域 (你的網頁也在 ntcoaap20):Fetch 可用 ✅ (最優雅)。 * 跨網域 (你的網頁在別台):Fetch 必死 ❌。 請回到上一則提到的「誘餌戰術 (Form Submit + Target=_blank)」。 因為 Form Submit 不受 CORS 限制,它是目前能在跨域環境下把 Session 寫進去的唯一解法。

留言
avatar-img
Pocheng Chiu的沙龍
0會員
24內容數
Pocheng Chiu的沙龍的其他內容
2025/12/22
既然是用 VB (.NET),這件事可以處理得更漂亮。 這裡有兩條路:一條是寫死 (Hardcode) 的快速生成法(如果你只是要一次性產出程式碼);另一條是動態 (Reflection) 的永續解法(這才符合工程師「用系統賺錢」的思維)。 1. 系統化解法:使用 Reflection (反射)
2025/12/22
既然是用 VB (.NET),這件事可以處理得更漂亮。 這裡有兩條路:一條是寫死 (Hardcode) 的快速生成法(如果你只是要一次性產出程式碼);另一條是動態 (Reflection) 的永續解法(這才符合工程師「用系統賺錢」的思維)。 1. 系統化解法:使用 Reflection (反射)
2025/11/21
沒問題,**「逐行驗證(Row-by-Row)」**是處理資料上傳最靈活的策略。 這種做法的好處是:解耦。 驗證邏輯只專注於「這一行對不對」,而不用管整張表怎麼跑。這讓你可以在迴圈中隨時決定要「蒐集所有錯誤」還是「遇到錯誤立刻停止」。 以下是調整後的架構,專注於單行處理: 1. 定義單行驗證結果 (
2025/11/21
沒問題,**「逐行驗證(Row-by-Row)」**是處理資料上傳最靈活的策略。 這種做法的好處是:解耦。 驗證邏輯只專注於「這一行對不對」,而不用管整張表怎麼跑。這讓你可以在迴圈中隨時決定要「蒐集所有錯誤」還是「遇到錯誤立刻停止」。 以下是調整後的架構,專注於單行處理: 1. 定義單行驗證結果 (
2025/11/05
這是一個很棒的個人化功能。要實現「根據工號保存設定」,我們需要將架構從「純前端 (JavaScript)」擴展為「前端 + 後端 (資料庫)」。 核心思路是: * 後端 (資料庫): 建立一個資料表,用來儲存 EmployeeID 和他勾選的欄位字串 (例如:"col-pdid,col-weigh
2025/11/05
這是一個很棒的個人化功能。要實現「根據工號保存設定」,我們需要將架構從「純前端 (JavaScript)」擴展為「前端 + 後端 (資料庫)」。 核心思路是: * 後端 (資料庫): 建立一個資料表,用來儲存 EmployeeID 和他勾選的欄位字串 (例如:"col-pdid,col-weigh
看更多
你可能也想看
Thumbnail
PH-1 作為韓國音樂界的重要人物,以其獨特的音樂風格和個人魅力迅速獲得全球粉絲的支持。他的音樂作品與EGO FETCH品牌的合作,推動了韓國潮流時尚的發展。這篇文章探討了PH-1的音樂旅程以及EGO FETCH在潮流界崛起的歷程,並介紹瞭如何購買EGO FETCH的產品。
Thumbnail
PH-1 作為韓國音樂界的重要人物,以其獨特的音樂風格和個人魅力迅速獲得全球粉絲的支持。他的音樂作品與EGO FETCH品牌的合作,推動了韓國潮流時尚的發展。這篇文章探討了PH-1的音樂旅程以及EGO FETCH在潮流界崛起的歷程,並介紹瞭如何購買EGO FETCH的產品。
Thumbnail
接下來要講前後端怎麼溝通,最常見應該都是用 axios, ajax 或 fetch 來 call api。先講結論,個人推薦使用 axios,那他們又有什麼優缺點呢?讓我簡單講解一下 ajax ajax 用法有點麻煩,要先引入 jQuery,用法如下 ajax 比起 axios 較為笨重也較不安全
Thumbnail
接下來要講前後端怎麼溝通,最常見應該都是用 axios, ajax 或 fetch 來 call api。先講結論,個人推薦使用 axios,那他們又有什麼優缺點呢?讓我簡單講解一下 ajax ajax 用法有點麻煩,要先引入 jQuery,用法如下 ajax 比起 axios 較為笨重也較不安全
Thumbnail
若說易卜生的《玩偶之家》為 19 世紀的女性,開啟了一扇離家的窄門,那麼《海妲.蓋柏樂》展現的便是門後的窒息世界。本篇文章由劇場演員 Amily 執筆,同為熟稔文本的演員,亦是深刻體察制度縫隙的當代女性,此文所看見的不僅僅是崩壞前夕的最後發聲,更是女人被迫置於冷酷的制度之下,步步陷入無以言說的困境。
Thumbnail
若說易卜生的《玩偶之家》為 19 世紀的女性,開啟了一扇離家的窄門,那麼《海妲.蓋柏樂》展現的便是門後的窒息世界。本篇文章由劇場演員 Amily 執筆,同為熟稔文本的演員,亦是深刻體察制度縫隙的當代女性,此文所看見的不僅僅是崩壞前夕的最後發聲,更是女人被迫置於冷酷的制度之下,步步陷入無以言說的困境。
Thumbnail
隨著 AI 幣圖表的上漲,Fetch.AI (FET) 僅在過去 24 小時內就激增了 35%。過去幾天,加密貨幣市場經歷了相當大的動盪,比特幣的價格跌至 64,000 美元,隨後穩定在目前的 65,000 美元以上。
Thumbnail
隨著 AI 幣圖表的上漲,Fetch.AI (FET) 僅在過去 24 小時內就激增了 35%。過去幾天,加密貨幣市場經歷了相當大的動盪,比特幣的價格跌至 64,000 美元,隨後穩定在目前的 65,000 美元以上。
Thumbnail
這段代碼示範了如何從 GitHub 的 API 抓取最新的 Vue.js 提交數據並顯示在網頁上。這是後端 API 串接的一個範例,展示了如何動態地獲取和顯示數據。
Thumbnail
這段代碼示範了如何從 GitHub 的 API 抓取最新的 Vue.js 提交數據並顯示在網頁上。這是後端 API 串接的一個範例,展示了如何動態地獲取和顯示數據。
Thumbnail
有多種情況下我們需要從API取消請求: 如果我們正在建立一個支付系統,並且請求一直進行,但使用者希望立即取消這筆訂單。這就是為什麼開發者會建立這個功能的原因。 從電子商務購買商品。使用者意外關閉了頁面,無法立即返回上一頁。 訂閱取消。 ......等等 這將對對這個系統沒有信心的使用者產生影響。因
Thumbnail
有多種情況下我們需要從API取消請求: 如果我們正在建立一個支付系統,並且請求一直進行,但使用者希望立即取消這筆訂單。這就是為什麼開發者會建立這個功能的原因。 從電子商務購買商品。使用者意外關閉了頁面,無法立即返回上一頁。 訂閱取消。 ......等等 這將對對這個系統沒有信心的使用者產生影響。因
Thumbnail
全新版本的《三便士歌劇》如何不落入「復刻經典」的巢臼,反而利用華麗的秀場視覺,引導觀眾在晚期資本主義的消費愉悅之中,而能驚覺「批判」本身亦可能被收編——而當絞繩升起,這場關於如何生存的黑色遊戲,又將帶領新時代的我們走向何種後現代的自我解構?
Thumbnail
全新版本的《三便士歌劇》如何不落入「復刻經典」的巢臼,反而利用華麗的秀場視覺,引導觀眾在晚期資本主義的消費愉悅之中,而能驚覺「批判」本身亦可能被收編——而當絞繩升起,這場關於如何生存的黑色遊戲,又將帶領新時代的我們走向何種後現代的自我解構?
Thumbnail
Fetch Rewards的企業標語是「make your life easier and more rewarding」。創辦人Wes Schroll在大學時意識到,除非在對的時間、使用對的優惠券、前往對的商店、購買對的產品,才有可能省到一筆小錢,因此才有了設計此App的構想。
Thumbnail
Fetch Rewards的企業標語是「make your life easier and more rewarding」。創辦人Wes Schroll在大學時意識到,除非在對的時間、使用對的優惠券、前往對的商店、購買對的產品,才有可能省到一筆小錢,因此才有了設計此App的構想。
Thumbnail
以人工智慧為中心的代幣 Fetch.ai 和 WienerAI 在暴風雨般的加密貨幣市場中蓬勃發展在加密貨幣這個高度不可預測的世界裡,兩種以人工智慧為中心的貨幣脫穎而出,在動盪的市場中表現出看漲勢頭。
Thumbnail
以人工智慧為中心的代幣 Fetch.ai 和 WienerAI 在暴風雨般的加密貨幣市場中蓬勃發展在加密貨幣這個高度不可預測的世界裡,兩種以人工智慧為中心的貨幣脫穎而出,在動盪的市場中表現出看漲勢頭。
Thumbnail
本文深度解析賽勒布倫尼科夫的舞臺作品《傳奇:帕拉贊諾夫的十段殘篇》,如何以十段殘篇,結合帕拉贊諾夫的電影美學、象徵意象與當代政治流亡抗爭,探討藝術在儀式消失的現代社會如何承接意義,並展現不羈的自由靈魂。
Thumbnail
本文深度解析賽勒布倫尼科夫的舞臺作品《傳奇:帕拉贊諾夫的十段殘篇》,如何以十段殘篇,結合帕拉贊諾夫的電影美學、象徵意象與當代政治流亡抗爭,探討藝術在儀式消失的現代社會如何承接意義,並展現不羈的自由靈魂。
Thumbnail
Fetch.ai(FET)、Render Token(RNDR)、SingularityNET(AGIX)和CorgiCoin(CORGI)等人工智慧加密貨幣價格近期大幅攀升,市值總和達到了240億美元,這反映出投資者對元宇宙和人工智慧項目的熱情再起。
Thumbnail
Fetch.ai(FET)、Render Token(RNDR)、SingularityNET(AGIX)和CorgiCoin(CORGI)等人工智慧加密貨幣價格近期大幅攀升,市值總和達到了240億美元,這反映出投資者對元宇宙和人工智慧項目的熱情再起。
Thumbnail
長期以來,西方美學以《維特魯威人》式的幾何比例定義「完美身體」,這種視覺標準無形中成為殖民擴張與種族分類的暴力工具。本文透過分析奈及利亞編舞家庫德斯.奧尼奎庫的舞作《轉轉生》,探討當代非洲舞蹈如何跳脫「標本式」的文化觀看。
Thumbnail
長期以來,西方美學以《維特魯威人》式的幾何比例定義「完美身體」,這種視覺標準無形中成為殖民擴張與種族分類的暴力工具。本文透過分析奈及利亞編舞家庫德斯.奧尼奎庫的舞作《轉轉生》,探討當代非洲舞蹈如何跳脫「標本式」的文化觀看。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News