在我的laravel项目中,我的页面上有多个复选框。在检查每个复选框时,我必须将对应于Id的内核发送给laravel控制器,但它会触发错误。
以下是ajax的代码。
$('.searchType').click(function() {
alert($(this).attr('id'));
if(this.checked){
$.ajax({
type: "POST",
url: '{{ route('mapService') }}',
data: $(this).attr('id'),
success: function(data) {
alert('it worked');
alert(data);
$('#container').html(data);
},
error: function() {
alert('it broke');
},
complete: function() {
alert('it completed');
}
});
}
});
以下是复选框的代码
<label class="control-label">Service</label> <br>
@foreach($services as $service)
<input type="checkbox" class="searchType" name="service[]" id="{!! $service->serviceID !!}" value="{!! $service->serviceID !!}">{!! $service->serviceName !!}<br>
@endforeach
按照ajax代码,我创建了一个名为的控制器mapService
,下面是代码
public function mapService(Request $request)
{
$id = $request->input('id');
echo $id;
}
$ id或对应的未进入控制器,正在生成以下错误
http://127.0.0.1/lifeloveandotherthings/public/api/mapService 405 (Method Not Allowed)
这是什么问题?请帮忙
检查是否是用POST定义的路由,并在js部分中输入了以下内容:
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句