关于WebApi 跨域问题的解决的方式
最近在做WebApi 進行開發的時候 一直會遇到跨域方面的問題那么如何進行跨域問題其實非常的簡單。
1.一直在使用WebApi的時候總是遇到跨域的問題 那么 什么是跨域?跨域,指的是瀏覽器不能執行其他網站的腳本。它是由瀏覽器的同源策略造成的,是瀏覽器對javascript施加的安全限制。
注:解決web API跨域其實比較簡單,如果可以的話,如下的修改header即可,但是還是存在很多陷阱。首先必須保證做的更改API重新發布新的文件覆蓋原有文件。我們一直調不通,就是因為發布文件中的配置并沒有發生改變。另外使用Ajax調用的時候不能添加ContentType的配置。
同時使用服務端的CORS和客戶端jQuery.support.cors = true;就可以解決所有的問題了。
另外一個Get和Post之外的HttpMethod我是用參數傳進去的,因為有些瀏覽器不支持。
有的就是 CORS 跨域
讓mvc ?或者?webapi 支持CORS跨域的配置是:
在system.webServer節點上添加
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Max-Age" value="30"/>
<add name="Access-Control-Allow-Methods" value="GET,POST,OPTIONS"/>
<add name="Access-Control-Allow-Headers" value="Content-Type, Accept" />
</customHeaders>
</httpProtocol>
2. 服務端需要進行添加
HttpContext.Current.Response.AddHeader("Access-Control-Allow-Credentials","true");
?
客戶端的jQuery:
$.ajax({
...
xhrFields: { //允許跨域訪問是添加cookie
withCredentials: true
},
...
}?
?
在做Web開發中,常常會遇到跨域的問題,到目前為止,已經有非常多的跨域解決方案。
通過自己的研究以及在網上看了一些大神的博客,寫了一個Demo
首先新建一個webapi的程序,如下圖所示:
?
轉載于:https://www.cnblogs.com/LowKeyCXY/p/7002224.html
總結
以上是生活随笔為你收集整理的关于WebApi 跨域问题的解决的方式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 织梦dedecsm系统企业简介类单栏目模
- 下一篇: Html----编写