离子api调用laravel返回连接错误

时间:2016-08-02 16:09:16

标签: php angularjs laravel ionic-framework

下面是我的角度服务,我知道它有效,因为我在节点服务器上试用了它,但是它没有使用我的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测试它,我得到了预期的响应,但是当我从我的离子应用程序调用它时,我的开发人员工具控制台中出现连接拒绝错误。

1 个答案:

答案 0 :(得分:1)

此问题仅发生在您的测试环境中,安装名为"允许 - 控制 - 允许 - 来源:*"的Chrome插件,这可以解决您的问题。

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

问候;