webapi支援跨域訪問

2022-02-06 23:44:04 字數 1753 閱讀 6918

在實際應用中,跨域請求還是比較常見的,如何上介面直接支援跨域的訪問呢?

場景專案a有個介面用來獲取使用者列表,現在專案b也有個功能需要載入使用者列表。這兩個專案在兩個網域名稱下,至少埠好不同。使用angularjs中的$http發起請求。

}首先用postman模擬請求,驗證介面是正確的。

現在專案b想通過js來請求這個介面:

$http.get("http://localhost:49505/api/user/lists").success(function (response) );
結果:

在webapi中為響應頭加上允許跨域訪問。如下所示

允許哪些url可以跨域請求到本域

response.headers.add("

access-control-allow-methods

", "

post

"); //

允許的請求方法,一般是get,post,put,delete,options

response.headers.add("

access-control-allow-headers

", "

x-requested-with,content-type

"); //

允許哪些請求頭可以跨域

return

response;}}

測試

結果

讓webapi支援CORS,可以跨域訪問

1.在nuget裡搜尋webapi找到下面的擴充套件,新增進專案裡。2.在global.asax中新增一行 protected void 3.在控制器頂部新增配置 enablecors origins headers methods public class default1controller a...

瀏覽器跨域訪問WebApi

在預設情況下這兩個網域名稱屬於兩個不同的域,他們之間的互動存在跨域的問題,但因為他們都同屬於乙個二級網域名稱下,所以通過簡單的設定就能實現跨域行為,但是考慮到實際生產環境中往往會出現兩個網域名稱 完全不同的情況,所以這裡不考慮這種特殊的情況,使用更通用的方法來解決跨域的問題。首先在webapi上有如...

瀏覽器跨域訪問WebApi

在預設情況下這兩個網域名稱屬於兩個不同的域,他們之間的互動存在跨域的問題,但因為他們都同屬於乙個二級網域名稱下,所以通過簡單的設定就能實現跨域行為,但是考慮到實際生產環境中往往會出現兩個網域名稱 完全不同的情況,所以這裡不考慮這種特殊的情況,使用更通用的方法來解決跨域的問題。首先在webapi上有如...