我想使用 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])}}";
}
}
})