c# - 调用我的 webapi 时收到 400 错误请求
问题描述
创建了一个 webapi,在邮递员中一切顺利,但是当我在 Angular 7 中创建一个前端应用程序并尝试登录时出现错误:对预检请求的响应未通过访问控制检查:没有'Access-Control-Allow-Origin'请求的资源上存在标头。
试图禁用 cors 以在 chrome 中进行开发,但仍然出现相同的错误,将 webapi 配置为允许所有,仍然相同,更改 web 配置以允许预检方法的选项,仍然相同。(使用 owin)
public void Configuration(IAppBuilder app)
{
var configuration = new HttpConfiguration();
ConfigureOAuth(app);
app.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll);
WebApiConfig.Register(configuration);
app.UseWebApi(configuration);
<modules runAllManagedModulesForAllRequests="true">
<remove name="WebDAVModule" />
</modules>
<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>
</system.webServer>
解决方案
可能您的 IIS 不支持 OPTION 动词调用 https://support.deskpro.com/en/kb/articles/configuring-http-verbs-on-windows-iis
推荐阅读
- python - 在 Mac 上调用 Localstack Lambda 时出错
- websocket - Turnserver 显示 WebSocket 打开错误:尝试加入房间后出现 WebSocket 错误
- nlp - Spacy 'en_core_web_sm' 的词汇长度
- python - Python:检查重复项
- android - Firebase 事务:下载数据时以及为什么在事务运行时每个 ValueEventListener 都被调用为 null
- c++ - 无法打印所有标记化的字符串
- reactjs - 如何在 React 中处理具有相同类名的多个组件的 onClick 事件?
- r - 获取一段时间内的变量均值
- javascript - 将 useState 与 useEffect 挂钩
- python - python字符串按分隔符拆分所有可能的排列