Laravel 5.7 AJAX POST请求已取消

时间:2019-01-21 10:19:03

标签: php https laravel-5.7

我正在使用在服务器上启用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');
    }

1 个答案:

答案 0 :(得分:0)

尝试了多种操作后,我通过从/中删除结尾的URL来解决了该问题 我不知道原因,但是删除它可以解决问题