解决ajax跨域问题的方式有多种,这里只记录下我解决的方法:在.net项目的配置文件中,修改配置项解决跨域问题。
情况是这样的,首先创建了一个webapi的程序,然后前端使用ajax请求访问webapi,浏览器显示跨域问题(此时前端请求已经发出,后端也接收到请求,但是后端并没有将结果返回给前端),浏览器显示如下:
此时前端是这样写的:
一个普通的get请求
后端代码:
为了解决这个问题,在网上找到了解决方法:在.net项目中的web.config配置项添加配置
添加如下配置:
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*"/>
<add name="Access-Control-Allow-Headers" value="X-Requested-With,Content-Type,Accept,Origin"/>
<add name="Access-Control-Allow-Methods" value="GET,POST,PUT,DELETE,OPTIONS"/>
</customHeaders>
</httpProtocol>
这时候重新启动后端的程序,前端重新调用后端接口,发现不报错,数据也正常返回了:
这篇文章详细介绍了解决跨域的方法,可以参考:https://segmentfault.com/a/1190000012469713