Ajax發送跨網域存取 Request
Cross-Origin Resource Sharing
小魯今天測試使用AJAX來呼叫API,但總是遇到一[跨來源資源共用(CORS)]問題


後來有在網路上查到幾位大神的說明,基本上就是
跨來源資源共享(Cross-Origin Resource Sharing (CORS))是一種使用額外 HTTP 標頭令目前瀏覽網站的用戶代理取得訪問其他來源(網域)伺服器特定資源權限的機制。當用戶代理請一個不是目前文件來源——例如來自於不同網域(domain)、通訊協定(protocol)或通訊埠(port)的資源時,會建立一個跨來源 HTTP 請求(cross-origin HTTP request)。
舉個跨來源請求的例子:`http://domain-a.com` HTML 頁面裡面一個 <img> 標籤的 src 屬性載入來自 http://domain-b.com/image.jpg 的圖片。現今網路上許多頁面所載入的資源, CSS 樣式表、圖片影像、以及指令碼(script)都來自與所在位置分離的網域,如內容傳遞網路(content delivery networks, CDN)。
基於安全性考量,程式碼所發出的跨來源 HTTP 請求會受到限制。例如,XMLHttpRequest 及 Fetch 都遵守同源政策(same-origin policy)。這代表網路應用程式所使用的 API 除非使 CORS 標頭,否則只能請求與應用程式相同網域的 HTTP 資源。
解決方式小魯也整理出以下幾種方式
一、程式端修改
二、修改web.config

三、IIS設定


* 表示對所有網站開放,或可指定特定來源網站(僅能設定一組)
以上若有錯誤還請各位大神手下留情的鞭策小弟......