XMLHttpRequest无法加载https:// .....对于$ http发布请求,预检的响应无效(重定向)

时间:2016-09-11 20:03:36

标签: javascript angularjs ionic-framework cors lumen

这是我的angularjs $ http发布请求

    $http({
        method: 'POST',
        url: 'https://...',
        data: {matric:u.matric, faculty:u.faculty, department:u.department, level:u.level, password:u.password},


      }).success(function(){
      $scope.passwor = '';
       $scope.erro = '';
        $scope.matri = '';
    $state.go('login');
  }).error(function(error){
    console.log(error);
      $scope.erro = 'Please Try Again. Check Your Connection ';
           $scope.matri =error.matric[0];
     $scope.passwor =error.password[0];


  }).finally(function() { 
    loader.hide();
    });  

我的api是用流明写的,我已经在所有路线中添加了palanik / lumencors。 我也在网上搜索解决方案,但似乎没有什么对我有用。请帮助!!!。我的控制器中有这个

public function option()
    {
      return true;
    }

这在我的route.php中

 $app->options('/', 'matricController@option');
    $app->post('/','matricController@store');

此代码为OPTIONS

返回okay(200)
 public function handle($request, Closure $next) {
        if ($request->isMethod('OPTIONS')) {
            $response = new Response("", 200);
        }
        else {
            $response = $next($request);
        }
        $this->setCorsHeaders($request, $response);
        return $response;
    }

1 个答案:

答案 0 :(得分:2)

当没有执行“简单”请求时,浏览器会向服务器发送所谓的飞行前OPTIONS请求,您必须以状态200响应。因此,仅设置CORS标头是不够的。 / p>

我猜你的服务器缺少OPTIONS请求的路由,并且可能会重定向某个占位符或错误的响应?

您可以在MDN

上详细了解有关转机前的请求