Net跨域請求設置
官方文檔:https://docs.microsoft.com/zh-cn/aspnet/core/security/cors?view=aspnetcore-3.1
1.跨域請求:指的是,一個服務用於存儲數據(一般為WebApi)作為數據源,提供數據;另一個服務指的是程序員需要返回相應的數據時獲取相應的信息時,則可以通過跨域的形式進行數據的獲取!這樣就可以做到前后端數據的分離!保證數據的安全性!
2.具體操作
WeApi代碼-》stu_show()方法為實IStudentRepository接口中顯示方法,具體方法看core的增刪改操作筆記
api數據
服務配置(Startup.cs)
另一程序通過ajax跨域訪問信息
3、補充
指定的 URL 不 能包含尾隨斜杠 (/) 。 如果 URL 以結尾 / ,則比較返回, false 不返回任何標頭。多個url時,以(,)相隔
Framework框架跨域設置(API跨域)
origins:允許訪問的域名,多個域名以逗號分隔。使用“*”全部允許。
headers:配置所支持的資源,使用“*”全部允許,使用null或“”不允許。
methods:配置支持的請求方法,使用“*”全部允許,使用null或“”不允許。
Framework框架跨域設置(Controller中的方法跨域)
默認情況下,瀏覽器端發送Ajax請求一般被禁止跨域訪問,如A域名網站訪問B域名網站的請求會被終止,在ASP.NET MVC項目中,我們可以配置相應的設置項,允許網站的接口跨域訪問,主要需要設置Access-Control-Allow-Origin、Access-Control-Allow-Headers、Access-Control-Allow-Methods等幾個項目即可。
如果允許整個站點對外的跨域訪問,則可以在網站的web.config文件中對允許跨域訪問的域名進行設置,如果不指定具體域名,可在<system.webServer></system.webServer>節點中添加下列設置代碼:
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="" />
<add name="Access-Control-Allow-Headers" value="" />
<add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE" />
</customHeaders>
</httpProtocol>
設置好上述配置項后,前台即可跨域訪問到網站數據。Access-Control-Allow-Origin設置為*表示允許所有域名,如要設置特定的域名,填寫為具體域名即可。