Javascript 无法加载XMLHttpRequesthttps://..... $http post请求的飞行前响应无效(重定向)
这是我的angularjs$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
$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)选项,这个问题是因为错误的路由或错误的请求方法而发生的吗?