【发布时间】:2020-01-26 09:23:40
【问题描述】:
我正在尝试在 Laravel 中使用 Ajax 更新数据,我的数据正在成功更新,但是当我单击更新时,它的成功消息显示在下一页上,我希望它在同一页面上显示消息和更新数据而不加载页面.
Laravel 控制器:
public function update(Request $request, $id)
{
$teacher = Teacher::find($id);
$teacher->efirst = $request->efirst;
$teacher->esecond = $request->esecond;
$teacher->save();
return response()->json([
'status' => 'success',
'msg' => 'esecond has been updated'
]);
}
AJAX 函数:Update.Js,
jQuery(document).ready(function($) {
$("#update-form").submit(function (e) {
e.preventDefault();
$.ajax({
type: "POST",
url: "teachers/" + $('#update-id').attr("value"),
dataType: 'json',
headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') },
data : $(this).serialize(),
success: function (data) {
let teacher = Object.entries(data.teacher);
teacher.forEach(item => { $(`[name=${item[0]}]`).val('item[1]'); });
},
});
});
});
查看: 它包含显示编辑列表的表格,以及带有更新按钮的表格下的表格。 我的数据正在更新,但我不想重新加载页面。也许与追加有关?
【问题讨论】:
-
能否更新表单的html标签?
-
能否详细说明
-
我只是想看看你的表单标签。您在“
-
您可以将
<input type="submit" ..../>更改为 ` 而不是使用submit()事件,而是使用'onClick()' 事件, -
我试过这个:$("form").on('submit',function(e):: 但现在没有提交