这是我的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;
}
答案 0 :(得分:2)
当没有执行“简单”请求时,浏览器会向服务器发送所谓的飞行前OPTIONS请求,您必须以状态200响应。因此,仅设置CORS标头是不够的。 / p>
我猜你的服务器缺少OPTIONS请求的路由,并且可能会重定向某个占位符或错误的响应?
您可以在MDN
上详细了解有关转机前的请求