我正在执行ajax请求并传递此数据
$.ajax({
url: "{{URL::to('match')}}/"+ id,
type: 'PUT',
// dataType: 'default: Intelligent Guess (Other values: xml, json, script, or html)',
data: {
match_id : id,
start_time : newTime,
competitionId: {{$cid}},
_token: '{{ csrf_token() }}'
}
})
并且在laravel尝试将此数据作为
dd($request->start_time);
但它不起作用我正在变空
在chrome开发人员工具中 正确发送ajax请求的数据这是一个简单的
match_id:1
start_time:03:00
competitionId:1
_token:9p8plPay7HLvJvMrTgxayEH74Ow6c2D1cli1yU01
在将此网站移至新服务器
之前,所有这些工作正常我错过了任何文件吗?
答案 0 :(得分:4)
我将类型更改为Post后再添加一个字段_method:PUT 即
$('#filter').submit(function(){
var filter = $('#filter');
$.ajax({
url:filter.attr('action'),
data:filter.serialize(), // form data
type:filter.attr('method'), // POST
beforeSend:function(xhr){
filter.find('button').text('caricamento...'); // changing the button label
},
success:function(data){
filter.find('button').text('Filtra'); // changing the button label back
$('.load').html(data); // insert data
$('.grve-iso-spinner').hide();
}
});
return false;
});
答案 1 :(得分:0)
输入php artisan route:list
检查你的路线,例如你的
Method = put
Uri = match / {match}
Name = match.update
Action = App \ Http \ Controllers \ MatchController @ 更新 //您的方法
路线:
Route::resource('/match', 'MatchController');
这是你的ajax电话:
$.ajax({
url: 'match/'+ id, //this is your uri
type: 'PUT', //this is your method
data: { match_id:id, start_time:newTime },
dataType: 'json',
success: function(response){
}
});
你的控制器:
public function update(Request $request, $match_id)
{
if(request()->ajax()){
$match = Match::find($match_id);
$validator = Validator::make($request->all(), [
'start_time'=>'required',
]);
if($validator->passes())
{
$match->start_time = $request->start_time;
$match->save();
return response()->json(['msg'=>'Updated Successfully', 'success'=>true]);
}
return response()->json(['msg'=>$validator->errors()->all()]);
}
}