Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs Ionic-跨来源请求被阻止的问题_Angularjs_.htaccess_Cors_Ionic Framework - Fatal编程技术网

Angularjs Ionic-跨来源请求被阻止的问题

Angularjs Ionic-跨来源请求被阻止的问题,angularjs,.htaccess,cors,ionic-framework,Angularjs,.htaccess,Cors,Ionic Framework,我已经使用Yeoman generator()设置了Ionic开发环境。一切都很顺利 问题出在服务器端请求上,我收到跨源请求阻塞错误 我在.htaccess文件和AngularJS app.js中添加了下面的链接,仍然得到相同的错误 Header set Access-Control-Allow-Origin "*" Header set Access-Control-Allow-Headers: Authorization AngularJS提供者 $httpProvider.default

我已经使用Yeoman generator()设置了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

虽然我没有将Zend与Ionic一起使用的经验,但我在通过Ionic与IIS托管的REST API接口时确实遇到过这个问题

对我来说,我必须在服务器端添加“访问控制允许方法:GET、POST、PUT、DELETE、OPTIONS”,而不是您已经拥有的

在添加“allow methods”头之后,我能够充分利用我的API


如果您对此不满意,请返回报告,我将在我的项目中深入挖掘,看看我是否忘记了还需要进行的客户端更改。

跨源是由您的浏览器强制执行的,从任何分布式电话运行应用程序不应被您的当前设置阻止

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


做这项工作

我已经更改了.htaccess文件,如下所示,其结果是,Google Chrome不接受“*”,因此我指定了确切的URL

Header set Access-Control-Allow-Origin "http://localhost:8100"
Header set Access-Control-Allow-Credentials: true

希望,在您的htaccess文件头中也添加此项添加访问控制允许方法:“获取、发布、选项、删除、放置”…我相信,此htaccess文件位于“245webserver”文件夹中…请尝试让我知道尝试将您的.htaccess头设置为:访问控制允许头:来源、X请求的内容类型、,AcceptNow我收到以下错误“当凭据标志为true时,不能在“Access Control Allow Origin”标题中使用通配符“*”。请删除“withCredentials”我假设您不需要它@Muthuany插件中有可能添加我的本地主机名而不是“*”是的,您可以配置plugin@BenDiamant我在Symfony服务器上运行的Firefox、Ionic和Symfony 2也有同样的问题(localhost:8000,如果我无法配置.htaccess设置)。我将Ionic应用程序代理到localhost:8080。我仍然收到“跨来源请求被阻止”。我真的不明白为什么浏览器会阻止一个普通的API调用。浏览器和html5应用程序的区别是什么?有详细的解释吗?