的XMLHttpRequest无法加载和预检响应具有无效的HTTP状态码405
我使用离子型框架和angularjs我使用Chrome看我的日志,但在这里,我做我想要发布用户登录页面输入的数据服务,但我得到这样的错误。的XMLHttpRequest无法加载和预检响应具有无效的HTTP状态码405
OPTIONS http://aflaree.com/qrcodeservice/Service1.svc/login
而这一次是下一个错误XMLHttpRequest cannot load http://aflaree.com/qrcodeservice/Service1.svc/login Response for preflight has invalid HTTP status code 405
阅读一些博客,我算起来也就是从它允许AJAX请求CORS extention我试过后也,但我无法找到为什么这两个误差的出现。这里是我的代码在设备
https://plnkr.co/edit/Dz0aFsLqoQcnCxht00z3?p=preview
我的代码工作很好,但我在Chrome得到错误,如果任何人知道为什么请帮我
CORS实际上规定了两个请求应到服务器进行在AJAX调用中(如果某些条件适用,如发送自定义标题)。
第一个请求(带有OPTIONS
方法的请求)被称为pre-flight,用于检查将完整请求发送到服务器是否安全。来自服务器的响应应包含有效的Access-Control-Allow-Origin
标头,其中包含客户端的URL或*
。
您的服务器(而不是客户端)是需要支持CORS的一个。看来你使用.Net,所以你可能想看看here如何配置IIS。
你可以阅读更多关于CORS here。
感谢您的答案yorch我有web.config文件中的数据,但仍面临同样的问题 –
我将配置部分添加到网络.config,但仍然可以修复错误 –
如果某人需要访问第三方API,该怎么办? – kushalvm
如果您使用的镀铬,得到“允许控制允许原产地”插件。这会让你忽略所有的CORS错误。
它适用于移动,因为离子有一个科尔多瓦插件“科尔多瓦 - 插件白名单”。在你的“config.xml”中,你会默认看到该行,这意味着你的应用可以访问任何URL。
不幸的是通过浏览器进行测试时的科尔多瓦插件不活跃。
对于iOS设备,还请检查使用的协议。使用HTTPS而不是HTTP解决了我的问题。
你能解决这个问题吗?我面对同样的情况。 – TechTurtle
是的,它解决了 –
你介意分享修复吗? – TechTurtle