Javascript 无法加载XMLHttpRequesthttps://..... $http post请求的飞行前响应无效(重定向)

Javascript 无法加载XMLHttpRequesthttps://..... $http post请求的飞行前响应无效(重定向),javascript,angularjs,ionic-framework,cors,lumen,Javascript,Angularjs,Ionic Framework,Cors,Lumen,这是我的angularjs$http post请求 $http({ method: 'POST', url: 'https://...', data: {matric:u.matric, faculty:u.faculty, department:u.department, level:u.level, password:u.password}, }).success(function(){ $scope.pas

这是我的angularjs$http post请求

    $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是用lumen编写的,我已经在所有路线中添加了palanik/Lumencor。 我也在网上搜索解决方案,但似乎什么都不适合我。请帮忙!!!。我的控制器里有这个

public function option()
    {
      return true;
    }
这在我的route.php中

 $app->options('/', 'matricController@option');
    $app->post('/','matricController@store');
这段代码还返回了选项的OK(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;
    }
当不执行“简单”请求时,浏览器会向服务器发送所谓的飞行前选项请求,您必须以状态200进行响应。所以仅仅设置CORS头是不够的

我猜您的服务器缺少选项请求的路由,并以重定向到某个占位符或错误页面的方式响应

您可以在

上阅读有关飞行前请求的更多信息。如果不执行“简单”请求,浏览器将向服务器发送所谓的飞行前选项请求,您必须以状态200进行响应。所以仅仅设置CORS头是不够的

我猜您的服务器缺少选项请求的路由,并以重定向到某个占位符或错误页面的方式响应


您可以在

上阅读更多关于飞行前请求的信息。错误响应似乎很清楚:服务器在CORS飞行前请求期间以重定向方式响应。它不应该这样做。我知道,但我不知道如何阻止它。它在postman上运行良好,但在移动设备和我的web浏览器上运行不好。请告诉我如何解决重定向问题。感谢URL上的尾随斜杠可能导致这种情况。Fiddler显示永久重定向到同一URL,但不带斜杠。在URL上有一个尾随斜杠总是会使我的请求出错。错误响应似乎很清楚:服务器在CORS飞行前请求期间用重定向进行响应。它不应该这样做。我知道,但我不知道如何阻止它。它在postman上运行良好,但在移动设备和我的web浏览器上运行不好。请告诉我如何解决重定向问题。感谢URL上的尾随斜杠可能导致这种情况。Fiddler将永久重定向到同一个URL,但不使用斜杠。在URL上使用斜杠总是会使我的请求出错。$app->options(“/”,'matricController@option'); $应用程序->发布('/','matricController@store');
public function option(){return true;}
我已经设置了选项route,但仍然存在该错误。还有一个中间件(palanik/lumencors)返回选项ok(200)是否会因为错误的路由或错误的请求方法而出现此问题?$app->options(“/”,'matricController@option'); $应用程序->发布('/','matricController@store');
public function option(){return true;}
我已经设置了选项route,但仍然存在该错误。还有一个中间件(palanik/lumencors)返回ok(200)选项,这个问题是因为错误的路由或错误的请求方法而发生的吗?