为了账号安全,请及时绑定邮箱和手机立即绑定

ajax post 请求 - 跨域读取阻塞 (CORB) 阻止跨域响应 CORS

ajax post 请求 - 跨域读取阻塞 (CORB) 阻止跨域响应 CORS

C#
慕田峪4524236 2021-11-28 20:16:46
我有一个 jquery 前端项目,它使用 ajax 向我的 ASMX Webservice (c#) 发送 POST 请求。一切正常,而不是一个特殊的要求。该应用程序类似于购物应用程序。如果购物车中的商品少于 5 件,则将订单发送到数据库的 Post-request 效果很好。如果我有 5 个或更多项目,我会收到 CORS 错误。我的后端(在 IIS 上)具有以下配置: <httpProtocol>      <customHeaders>        <add name="Access-Control-Allow-Origin" value="*" />        <add name="Access-Control-Allow-Methods" value="POST" />        <add name="Access-Control-Allow-Headers" value="Accept,Authorization,Cache-Control,Content-Type,DNT,If-Modified-Since,Keep-Alive,Origin,User-Agent,X-Requested-With" />      </customHeaders>    </httpProtocol>这是一个简单的 CORS 请求(只允许 POST)以避免 OPTIONS 飞行前请求。OPTIONS 请求也给了我一个 CORS- 错误 404。没有 OPTIONS 并且只有 POST 我得到这个错误:    POST https://sperrmuellportalapi.ks-weimar.de/webservice_ex.asmx/SP_WRITE_Sperrmuellanmeldung403(禁止)发送@jquery-3.1.1.min.js:4 ajax @jquery-3.1.1.min.js:4 SPWriteSperrmuellanmeldung @index.js:3469(匿名)@index.js:3380 dispatch@jquery- 3.1.1.min.js:3 q.handle @ jquery-3.1.1.min.js:3/#zsfg_sp_anmelden:1 Failed to load https://sperrmuellportalapi.ks-weimar.de/webservice_ex.asmx/SP_WRITE_Sperrmuellanmeldung:请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,不允许访问源 ' https://sperrmuellportal.ks-weimar.de '。响应具有 HTTP 状态代码 403。jquery-3.1.1.min.js:4 Cross-Origin Read Blocking (CORB) blocked cross-origin responsehttps://sperrmuellportalapi.ks-weimar.de/webservice_ex.asmx/SP_WRITE_Sperrmuellanmeldung 带有 MIME 类型 text/html。有关更多详细信息,请参阅 https://www.chromestatus.com/feature/5629709824032768。ajax 请求是这样开始的:$.ajax({        type: "POST",        dataType: "xml",        url: UrlToWebservice + "SP_WRITE_Sperrmuellanmeldung",        data: {..some params..}, ...它是一个 ASMX Web 服务,所以我使用 XML 作为交换格式。这个问题与这个问题有关:ajax POST - The response has HTTP status code 403, headers are missing, always OPTIONS我太无知了,我几天来一直在寻找解决方案。请帮忙。:(
查看完整描述

2 回答

?
喵喔喔

TA贡献1735条经验 获得超5个赞

我遇到了同样的问题,但是使用外部 API,所以我编写了一个包装器来从 C# 控制器调用 Service 方法。

我使用 ajax 在我的控制器中调用操作,它反过来使用控制器中的 WebClient 调用外部 api..


查看完整回答
反对 回复 2021-11-28
?
慕哥9229398

TA贡献1877条经验 获得超6个赞

默认浏览器会阻止跨源请求。如果您需要在没有使用CORS 的Api的情况下测试客户端项目,请 使用firefox 开发人员版,但在您的情况下,请查看教程。希望这可以帮助!


查看完整回答
反对 回复 2021-11-28
  • 2 回答
  • 0 关注
  • 1395 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信