开机自检 http://127.0.0.1:8000/unlock 405(方法不允许)



我想使用 ajax 将解锁密钥传递给路由,但我不允许这样做。代码给了我方法不允许错误。

我在代码中看不到错误,无论是路由错误还是其他错误

<script>
$(document).ready(function(){
$('.result-container').hide();
$('.unlock-btn').on('click', function(){
    $.ajax({
        url: "{{route('unlock')}}",
        method: 'post',
        data: {
            theme_id : {{$theme_id}},
            key : $('.key').val(),
        },
        success: function(data){
            console.log('success');
            if(data === '0')
                $('.result-container').show();
            else
            {
                window.location = "{{route('view', ['theme_id' => $theme_id])}}";
            }
        }
    })
});
});
</script>

所以你的路由是一个获取,但在 ajax 中你正在发送 post 请求。将其更改为发布。

Route::post('/unlock', 'ThemeController@unlock')->name('unlock');

并且还要在数据中添加令牌,否则您将获得缺少CSRF的419错误。

    $.ajax({
        url: "{{route('unlock')}}",
        method: 'post',
        data: {
            theme_id : {{$theme_id}},
            key : $('.key').val(),
            "_token": "{{ csrf_token() }}",
        },
        success: function(data){
            console.log('success');
            if(data === '0')
                $('.result-container').show();
            else
            {
                window.location = "{{route('view', ['theme_id' => $theme_id])}}";
            }
        }
    })

最新更新