Ionic - 跨域请求被阻止问题

4

我使用Yeoman生成器(https://github.com/diegonetto/generator-ionic)搭建了Ionic开发环境,一切正常。

然而,在进行服务器端请求时,我遇到了跨域请求被阻止的错误。

我在.htaccess文件和AngularJS app.js中添加了以下链接,但仍然出现相同的错误。

Header set Access-Control-Allow-Origin "*"
Header set Access-Control-Allow-Headers: Authorization

AngularJS提供商

$httpProvider.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=utf-8';
$httpProvider.defaults.withCredentials = true;

我收到的错误信息是:
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at 
http://192.168.1.18/tracker/user/login. 
This can be fixed by moving the resource to the same domain or enabling CORS.

请求和响应头屏幕

请求和响应头屏幕

请指导我需要更改哪些配置以启用CORS。我们的服务器端框架是Zend 1.x。


希望你能在你的htaccess文件中添加以下内容:Header add Access-Control-Allow-Methods: "GET,POST,OPTIONS,DELETE,PUT" ...我相信,这个htaccess文件位于“245webserver”文件夹内...请尝试并告诉我。 - Asik
尝试将您的.htaccess头设置为: Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept - m1crdy
3个回答

10

您的浏览器强制跨源,使用任何分布式电话运行应用程序时,不应受到当前设置的阻止。

要允许您的“服务于浏览器”的应用程序与服务器之间进行通信,请使用浏览器插件。

Allow-Control-Allow-Origin: * Chrome插件可起到作用。


现在我得到以下错误信息:“当凭据标志为true时,不能在'Access-Control-Allow-Origin'标头中使用通配符'*'。” - Muthamizhchelvan. V
移除 "withCredentials",我认为你不需要它 @Muthu - Ben Diamant
在插件中是否有可能添加我的本地主机名,而不是“*”? - Muthamizhchelvan. V
是的,您可以配置插件。 - Ben Diamant
@BenDiamant 我在使用Firefox、Ionic和Symfony 2运行在Symfony服务器上时遇到了同样的问题(localhost:8000,我无法配置.htaccess设置)。我将Ionic应用代理到localhost:8080。但是我仍然遇到了"Cross-Origin Request Blocked"的问题。我真的不明白为什么浏览器会阻止一个正常的API调用。浏览器和HTML5应用之间有什么区别?有没有详细的解释? - ownking

1
我已按以下方式更改了 .htaccess 文件,它起作用了,Google Chrome 不接受“*”,因此我指定了确切的 URL。
Header set Access-Control-Allow-Origin "http://localhost:8100"
Header set Access-Control-Allow-Credentials: true

0

虽然我没有使用Zend和Ionic的经验,但是当我通过Ionic与托管在IIS上的REST API进行接口时,我遇到了这个问题。

对于我来说,除了你已经有的内容之外,我还必须在服务器端添加“Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS”。

在添加了“允许方法”标头之后,我能够完全利用我的API。

如果这对您不起作用,请回报,我将深入研究我的项目,看看是否忘记了客户端也需要的更改。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接