Я использую Ubuntu с включенным SSL
на моем сервере. Когда я отправляю простой запрос post
, используя $.ajax()
на https
, происходит следующее: запрос с https
отменяется, а другой запрос на тот же URL
отправляется с http
. Что в свою очередь дает Mixed Content Error
Я попытался разрешить CORS на стороне сервера, используя следующий код в Middleware
и зарегистрировать его на всех маршрутах, но безуспешно.
return $next($request)
->header('Access-Control-Allow-Origin', '*')
->header('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS')
->header('Access-Control-Allow-Headers', 'X-Requested-With, Content-Type, X-Token-Auth, Authorization');
Это мой маршрут, который я называю:
Route :: post ('sample-route', 'OrderController @ Sample');
Это мой ajax
код:
$.ajax({
'url': 'https://my-domain/sample-route/',
dataType: 'json',
'type': 'post',
'headers': {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
success: function(resp, status, xhr){
console.log(resp);
},
});
Я также добавил чек в AppServiceProvider
, чтобы все запросы на производство были отправлены на https
. Ниже приведен код:
if($this->app->environment('production')) {
URL::forceScheme('https');
}