【发布时间】:2020-10-27 18:42:54
【问题描述】:
我正在尝试在 laravel 中创建一个 ajax,但我得到了这个:“此路由不支持 POST 方法。支持的方法:GET、HEAD”。问题是我之前在我的项目中做过ajax,只有这个我有问题。有人可以帮忙吗?
我的路线:
Route::get('/admin/clients-data','App\Http\Controllers\ClientsController@gravy');
Route::get('/admin/client-details/{slug}','App\Http\Controllers\ClientsController@clientdetails');
Route::post('/admin/client-details/adddocumentstoclient','App\Http\Controllers\ClientsController@adddocumentstoclient');
我的控制器:
public function adddocumentstoclient(Request $request){
echo '<pre>';
var_dump('bump');
echo '</pre>';
die();
}
还有我的 js:
$('.tasks input').on('click', function() {
var emptyValue = 0;
$('input:checked').each(function() {
emptyValue += parseInt($(this).val());
});
var documents_brought = [];
var documents = $('.documents_brought input:checked').each(function(){
documents_brought.push($(this).data('documentid'));
});
var client_id = $('.documents_brought').data('clientid');
$.ajax({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
type: "POST",
url: "adddocumentstoclient",
data: {'documents_brought':documents_brought,'client_id': client_id},
success: function (html) {
// returndata = JSON.parse(html);;
// toastr.success(returndata.message, returndata.title);
}
});
$('.progress-bar').css('width', emptyValue + '%').attr('aria-valuenow', emptyValue);
});
提前致谢
【问题讨论】:
-
你的路径不匹配,试试这个
url: "/admin/client-details/adddocumentstoclient", -
不工作,我试过了
-
使用名称路由,它将工作
Route::post('/admin/client-details/adddocumentstoclient','App\Http\Controllers\ClientsController@adddocumentstoclient')->name('adddocumentstoclient');并且在您的刀片 ajax url 上将是url: "{{ route('adddocumentstoclient') }}", -
Route::post('/admin/client-details/adddocumentstoclient','App\Http\Controllers\ClientsController@adddocumentstoclient')->name('adddocumentstoclient');路由 [adddocumentstoclient] 未定义
-
是的,就是这样,添加了 ->name('adddocumentstoclient'),清除了路线,然后是 'bum'。谢谢
标签: javascript laravel