对XMLHttpRequest的访问已被阻止

问题描述

如果要发送带有C#API的Flutter Web应用,并尝试在标题“ apikey”中连接参数,则该错误将在浏览器控制台中显示

CORS策略已阻止从源“ http:// localhost:61306”访问“ http:// localhost:49986 / ...”处的XMLHttpRequest:对预检请求的响应未通过访问控制检查:它没有HTTP正常状态。

如果我删除了“ apikey”,则连接将顺利进行且没有错误

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>
  <httpProtocol>
      <customHeaders>
          <add name="Access-Control-Allow-Origin" value="*" />
          <add name="Access-Control-Allow-Credentials" value="false"/>
          <add name="Access-Control-Allow-Headers" value="Origin,Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token,apikey" />
          <add name="Access-Control-Allow-Methods" value="POST,OPTIONS" />
      </customHeaders>
  </httpProtocol>
</system.webServer>

Flutter Web应用程序中的dio部分

static dio getdio() {
    dio dio = dio();
    dio.options.headers.addAll({"apikey": "xyz"});
    return dio;
}

N.B:邮递员的要求运作良好

是否建议在开发中禁用chrome CORS,因为它是2个localhost HTTP或无关? 预先感谢!

编辑: 邮递员考试

enter image description here

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)