我正在使用在服务器上启用SSL
的Ubuntu。当我在post
上使用$.ajax()
发送一个简单的https
请求时,发生的情况是,带有https
的请求被取消,并且同一URL
上的另一个请求被发送了http
。依次得到Mixed Content Error
我尝试使用Middleware
中的以下代码允许服务器端的CORS并在所有路由中进行注册,但是没有运气。
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');
}
答案 0 :(得分:0)
尝试了多种操作后,我通过从/
中删除结尾的URL
来解决了该问题
我不知道原因,但是删除它可以解决问题