对laravel的ionic api调用返回连接错误


ionic api call to laravel returns connection error

下面是我的angular服务,我知道它可以工作,因为我在节点服务器上尝试过,但它不能与我的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']);
    }

我已经用poster测试了它,我得到了预期的响应,但当我从我的ionic应用程序调用它时,我在我的开发工具控制台中收到了一个拒绝连接的错误。

此问题仅发生在您的测试环境中,请安装名为"Allow-Control-Allow-Origin:*"的chrome插件,这样可以解决您的问题。

当你在iOS或Android中模拟应用程序时,一切都正常。

问候;