Asp.Net中WebApi解决跨域方法
跨域全称:Cross-origin Resource Sharing(跨域资源共享)
跨域简称:CORS
原理:
解决跨域问题的原理是通过向http的请求报文和响应报文里面加入相应的标识告诉浏览器它能访问哪些域名的请求。
跨域概念:
按照我的理解跨域就是:相互独立的运行程序,一个运行程序请求另一个运行程序的资源或者数据的经过就是跨域。当然这样说的不太准确。
举个例子可能大家会更明白点:
比如:前端程序和后端之间的交互,当然这里的说的前后端都是独立的不在一个项目文件中。当前端程序运行去利用一些手段(比如ajax)去请求后端的数据,由于前端运行的所用的端口或者IP和后端的不一样,这就产生了跨域访问。
给大家展示一张截图,看下跨域访问时报的错:
解决办法:
前台的话解决办法:
可以用JsonP进行解决跨域的问题,怎样使用JsonP大家可以进行去查下,很简单。
重点来了:
后端的解决办法:(WebApi中的跨域解决)
方法一:在webconfig的配置文件中添加下面的代码:
//这个节点必须放在 <system.webServer>节点中
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Headers" value="Content-Type" />
<add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS" />
</customHeaders>
</httpProtocol>
方法二:
①:在NuGet的管理程序包进行下载一个插件microsoft.aspnet.webapi.cors
②:在AppStart文件夹中的WebApiConfig的类里进行配置
这样就把WebApi的跨域问题解决了。
展示效果:我的后台数据已经拿到了,说明跨域问题解决了。
结尾:
分享:不论你在什么时候开始,重要的是开始之后就不要停止!
上一篇: 微信支付java版本之Native付款
下一篇: MySQL删除表的时候忽略外键约束
推荐阅读
-
Asp.Net中WebApi解决跨域方法
-
ASP.NET MVC & WebApi 中实现Cors来让Ajax可以跨域访问
-
Ajax跨域访问ASP.NET WebApi
-
asp.net Cookie跨域、虚拟目录等设置方法
-
Asp.net中的GridView导出遇到的两个问题和解决方法
-
asp.net URL中包含中文参数造成乱码的解决方法
-
IIS中ASP.NET连接SQL Server出错的解决方法
-
Asp.net中的GridView导出遇到的两个问题和解决方法
-
asp.net 数据绑定 使用eval 时候报 字符文本中的字符太多 问题的解决方法
-
asp.net URL中包含中文参数造成乱码的解决方法