下面是我的角度服务,我知道它有效,因为我在节点服务器上试用了它,但是它没有使用我的laravel API。
angular.module('starter')
.service('AuthService', function($q, $http, API_ENDPOINT) {
var register = function(user) {
return $q(function(resolve, reject) {
$http.post(API_ENDPOINT.url + '/signup').then(function(result) {
if (result.data.success) {
resolve(result.data.msg);
} else {
reject(result.data.msg);
}
});
});
};
return {
register: register
};
});
以下是我的laravel代码
Route::group(['prefix'=>'api', 'middleware' => 'cors'], function()
{
Route::post('/signup','UserController@index');
});
下面是我的cors中间件
public function handle($request, Closure $next)
{
return $next($request)
->header('Access-Control-Allow-Origin', '*')
->header('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS')
->header('Access-Control-Allow-Headers', '*');
}}
最后,这是我的控制器索引函数,它只返回一个json响应
public function index()
{
return response()->json(['success' => 'Received','Done'=>'It works']);
}
我已经使用postman测试它,我得到了预期的响应,但是当我从我的离子应用程序调用它时,我的开发人员工具控制台中出现连接拒绝错误。
答案 0 :(得分:1)
此问题仅发生在您的测试环境中,安装名为"允许 - 控制 - 允许 - 来源:*"的Chrome插件,这可以解决您的问题。
当您在iOS或Android中模拟应用程序时,一切正常。
问候;