我正在使用ionic和angularjs创建一个应用程序。现在我想在网络服务中连接,但我不知道我该怎么做。我的web服务使用Basic Auth进行连接,我正在寻找一些解决方案来创建与webservice的这种连接。
webservice是使用CakePHP创建的,请注意,如果我使用Android或iOS的本地语言,我可以连接,例如在Android上,我使用Volley API进行连接但是使用AngularJS我不能。
我如何使用Basic Auth通过AngularJS连接Web服务?
我正在尝试这个。
服务
var app = angular.module("starter");
app.service("UserLoginAPI", function($http, AppConstants, Base64){
this.doLogin = function(){
var _url = AppConstants.webServiceUrl + "/users/testaWS.json";
var _authdata = Base64.encode('user' + ':' + 'password');
return $http.post(_url, {
headers: { 'Content-Type' : 'application/json; charset=UTF-8',
'Authorization' : 'Basic ' + _authdata
}
});
};
});
异常
XMLHttpRequest cannot load http://192.168.1.105/AppPanel/users/testaWS.json. Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8100' is therefore not allowed access. The response had HTTP status code 401.
webservice CakePHP方法
public function testaWS(){
$this->autoRender = false;
return json_encode(array("message"=>"connected!"));
}