我正在尝试使用 ajax 进行更新。它总是返回一个错误,我不知道在哪里看。我正在尝试做的是在不必重新加载页面的情况下进行更新。
视图:
<form id="view-int-form">
@csrf
<h1>ID Number:</h1>
<input type="text" name="id_number" value="{{$var1->id_number}}">
<h1>Name:</h1>
<input type="text" name="name" value="{{$var1->name}}">
<button type="button" id="clickme" value="Save">Save</button>
</form>
阿贾克斯:
$(document).on("click", "#clickme", function(){
$.ajax({
url: '/updatename',
type: 'POST',
data: $("#view-int-form").serialize(),
success: function (data) {
alert("SAVED");
},
error: function (data) {
alert("ERROR");
}
});
});
路线:
Route::post("/updatename","UsersController@UpdateName");
控制器:
public function UpdateName(Request $request){
$id = $request->input('id_number');
$update_name = $request->input('name');
users::where("id_number",$id)->update(['first_name'=>$update_name]);
}
感谢任何可以提供帮助的人。
这是您提供的 URL 的错误。最好提供如下所示的URL,
url: '{{URL::to('updatename')}}',
此外,您可以在 web 中命名您的 url.php就像这样,
Route::post("/updatename","UsersController@UpdateName")->name('update_name');
然后像这样使用, 网址:: '{{route('update_name')}}',
表单中缺少{{ csrf_field() }}
,表单标记中缺少method="POST"
。尝试将视图中的@csrf
替换为{{ csrf_field() }}