我正在尝试在浏览器上测试应用。问题是我的web服务也是在localhost中,当我尝试对webservice执行一些请求时,CORS异常的返回表示相同的原始策略。寻找解决方案我发现了一种在Firefox上执行这种方式禁用CORS的方法:about:config -> security.fileuri.strict_origin_policy -> false
但不起作用。
我怎么解决这个问题?
我使用CakePHP创建了Web服务。
CakePHP网络服务功能
/** do login in app */
public function doLogin(){
$this->autoRender = false;
$this->response->header('Access-Control-Allow-Origin', '*');
$this->response->type('json');
$retorno = array("email"=>"me@gmail.com", "senha"=>"senha");
return json_encode($retorno);
}
尝试添加控制器的beforeRender
public function beforeRender() {
header("Access-Control-Allow-Origin: *");
parent::beforeRender();
}
AngularJS
var app = angular.module("starter");
app.service("UserLoginAPI", function($http, AppConstants, Base64){
this.doLogin = function(User){
var _url = "http://localhost/AppPanel/users/doLogin.json";
var _authdata = Base64.encode(User.email + ':' + User.senha);
var _headers = {
'Authorization': 'Basic ' + _authdata,
'Accept': 'application/json; charset=utf-8',
'Content-Type': 'application/json; charset=utf-8'
};
return $http({
method: 'POST',
url: _url,
headers: _headers
});
};
});
答案 0 :(得分:1)
解决了这个问题。我在Chrome快捷方式中添加了这些参数,现在工作正常。 --args --allow-file-access-from-files --disable-web-security