我正在努力更新/创建记录。每当我尝试使用$ .ajax-put发送数据时,表单输入数据在服务器上为空,但我可以看到数据在请求有效负载中发送。
请帮帮我?
修改
表单代码
<form action="{{ route('dishes_update',$dish_detail->id) }}" action="post" class="form-horizontal" enctype="multipart/form-data" accept-charset="UTF-8">
<input name="_method" value="PUT" type="hidden"/>
<input name="_token" type="hidden" value="{{ csrf_token() }}"/>
</form>
Ajax逻辑
$('#dish_create_form form').submit(function(evnt){
evnt.preventDefault();
myformdata = new FormData(this);
$.ajax({
url: $(this).attr('action'),
type: "PUT",
data: myformdata ,//+ $(this).serialize(),
processData: false,
contentType:'x-www-url-formurlencoded',
success: function (res) {
//alert(res);
myformdata = false;
$('#panel_body').html(res);
}
});
});
控制器
public function update(Request $request, $dish_details_id)
{
// validation check
//dd($_POST);
// dd($request->input('cuisine_id'));
dd($request->all(), Input::all());
}
答案 0 :(得分:1)
更改为
<form action="{{ route('dishes_update',$dish_detail->id) }}" method="post" class="form-horizontal" enctype="multipart/form-data" accept-charset="UTF-8">
<input name="_method" value="PUT" type="hidden"/>
<input name="_token" type="hidden" value="{{ csrf_token() }}"/>
</form>
答案 1 :(得分:-1)
在发送之前尝试检查数据
UserClass {
userMethod() {
return $data;
}
}
MyClass {
myFunction (callback ) {
doingSomething();
doingSomething();
$data = call_user_function($callback);
return doingSomethingWithData($data);
}
}