ASP.net WebAPI跨域调用问题的解决方法
 更新时间:2018年03月11日 15:00:08   作者:lukali  

在做Web开发中,常常会遇到跨域的问题,到目前为止,已经有非常多的跨域解决方案。下面这篇文章主要给大家介绍了关于ASP.net WebAPI跨域调用问题的解决方法,文中通过示例代码介绍的非常详细,需要的朋友可以参考下。

发现问题
最近在做一个项目,前端是VUE,后端是WebAPI,业务也就是一些实体的增删改查。在项目开始的时候我就预计到有跨域的问题,所以也找了一下资料,在Web.Config里面加上了配置信息:

<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>

这是网上找到的其中一种方法,也有自己写跨域的特征类,也可以引用微软库cors,网上能查到很多资料,这里就不一一展开了。
这样配置之后,我自己做Get测试,用JQ来调用也是ok的,我就以为跨域的设置已经做完了,然而天坑来了,Post操作调用不了,整天返回405错误,我就郁闷了,是怎么回事呢。
解决方法
上网查了一下跨域调用的原理,发现在跨域POST之前,是有一次OPTION方法调用,是用来确认是否运行跨域POST的握手确认过程。然后继续往下查,发现通过VS自建WebAPI工程默认有OPTION处理,默认是不允许跨域的。
所以我就在Web.Config里面把这几个代码注释掉了

<handlers>
<remove name=”ExtensionlessUrlHandler-Integrated-4.0″ />
<remove name=”OPTIONSVerbHandler” />
<remove name=”TRACEVerbHandler” />
<add name=”ExtensionlessUrlHandler-Integrated-4.0″ path=”*.” verb=”*” type=”System.Web.Handlers.TransferRequestHandler” preCondition=”integratedMode,runtimeVersionv4.0″ />
</handlers>

最后跨域的POST请求通过了,用JQ和axios测试的。
也许,这个方法不是什么好方法,但确实解决我项目上的问题,所以记下来。如果有更好的方法还请各路高手指点 o(* ̄︶ ̄*)o
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对华域联盟的支持。

您可能感兴趣的文章:asp.net core webapi 服务端配置跨域的实例ASP.Net WebAPI与Ajax进行跨域数据交互时Cookies数据的传递ASP.NET WebAPI2复杂请求跨域设置的方法介绍

asp.net
webapi
跨域

相关文章
ASP.NET中常用的用来输出JS脚本的类在ASP.NET中我们经常需要输出一些JS脚本,比如弹出一个警告窗口,返回到历史页面等JS功能,我看到网上好多这方面的代码,以下代码是其中之一。 2010-02-02
asp.net下经典数据库记录分页代码asp.net下经典数据库记录分页代码… 2007-04-04
.net/c# memcached缓存获取所有缓存键的方法步骤这篇文章主要介绍了.net/c# memcached缓存获取所有缓存键的方法步骤,大家参考使用吧 2013-12-12
获取远程网页的内容之一(downmoon原创)获取远程网页的内容之一(downmoon原创)… 2007-03-03
Asp.Net Mvc2 OA 工作流设计思路[图]回老家上班的新公司,第一个项目:OA。以前没有做过OA,因为设计到工作流这一块的东西,所以自己去进行了相关的了解,于是有了这篇博客(以下文字只是个人理解,高手漂过) 2012-10-10
关于C#中DateTime常用方法概述C#中DateTime日期时间在应用中比较广泛的了,本文列出了C#中DateTime常用的方法与属性,感兴趣的你可不要错过了哈 2013-02-02
.net读取Rss转换为DataTable使用.NET读取Rss数据,并转换为DataTable返回。方法很简单,看一下面的代码吧。 2013-10-10
ASP.NET 上传文件到共享文件夹的示例这篇文章主要介绍了ASP.NET 上传文件到共享文件夹的示例,帮助大家更好的理解和学习使用.net技术,感兴趣的朋友可以了解下 2021-04-04
Repeater控件动态变更列(Header,Item和Foot)信息实现思路需求开发一个小报表,显示最近五个月的summary的数量统计,报表会随月份的变化而变化,接下来为大家详细介绍下实现方法,感兴趣的各位不要错过了哈 2013-03-03
Asp.net SignalR应用并实现群聊功能这篇文章主要为大家分享了Asp.net SignalR应用并实现群聊功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 2017-04-04

最新评论

声明:本站(华域联盟www.cnhackhy.com)所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。