我正在设置“ HTML”,我想使用JavaScript发送数据,但仍然收到以下错误。
405(不允许使用方法)
JavaScript
function cb(){
$.ajax({
type:"POST",
url:'http://localhost:8000/users/create',
data:selchbox,
});
var selchbox = [];
var sb = [];
var input = document.getElementsByTagName('input');
for(var i=0; i<input.length;i++){
if (input[i].type == 'checkbox' && input[i].checked == true)
selchbox.push(input[i].value);
}
console.log(selchbox);
}
路线
Route::post('/create', 'usersController@create');
答案 0 :(得分:2)
您要发布到/users/create
,但是您的路由定义是针对普通的旧/create
。
答案 1 :(得分:1)
查看代码,您正在调用名为/ users / create而不是/ create的路由
由于laravel在没有自动生成的csrf令牌的情况下不允许任何请求,因此您可能还需要这样做。您可以将csrf令牌设置为html meta这样的
<meta name="csrf-token" content="{{ csrf_token() }}">
然后像这样在JavaScript中调用它。
$.ajax({
url: '/your_route',
method: "POST",
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
data,
}).done(results => {
//results
})