Php 在Laravel中使用ajax单击按钮时如何更新数据?
我使用的是Laravel 5.4,我的表中有“签出”按钮。我想当我点击该按钮时,它会更新数据库中的签出时间并更新我的表。我正在尝试使用ajax,但它不起作用,但有时它也起作用,但无法重新加载表,因此我需要手动刷新页面。Php 在Laravel中使用ajax单击按钮时如何更新数据?,php,ajax,laravel,laravel-5,Php,Ajax,Laravel,Laravel 5,我使用的是Laravel 5.4,我的表中有“签出”按钮。我想当我点击该按钮时,它会更新数据库中的签出时间并更新我的表。我正在尝试使用ajax,但它不起作用,但有时它也起作用,但无法重新加载表,因此我需要手动刷新页面。以下是我的按钮代码: 退房 这是我的ajax代码: $('#checkout_btn').click(function addseries(e){ var VST_ID = $(e.currentTarget).attr('data-id'); alert("dfads
以下是我的按钮代码:
退房
这是我的ajax代码:
$('#checkout_btn').click(function addseries(e){
var VST_ID = $(e.currentTarget).attr('data-id');
alert("dfads");
$.ajax({
type: "GET",
url: 'visitor/checkout',
data: "VST_ID="+VST_ID,
success: function(data) {
console.log(data);
}
});
});
这是我的控制器代码:public function Checkout(Request $request)
{
$visitor = Visitor::where("VST_ID",$request['VST_ID'])->first();
$visitor->VST_CHECKOUT = date('Y-m-d H:i:s');
$visitor->UPDATED_AT = date('Y-m-d H:i:s');
$visitor->UPDATED_BY = 'User';
$visitor->save();
return redirect()->route('Visitor.VList')->with('message','The Visitor has been Checked Out !');
}
您可以通过两种方法来实现这一点 1st:通过对表体进行不同的查看。 在控制器设置视图中,如下例所示
if($request->ajax())
{
$records=\View::make('admin.settings.state.state-holiday-tbody',['contents'=>$contents,'active'=>$active,'tab'=>$tab])->render();
return response()->json(array('html'=>$records));
}
然后执行for循环,将数据追加到表体
注意:调用函数以准备好文档上的所有表记录
2nd:通过获取响应中的所有记录,使用javascript for循环生成表体。我认为如果要更新数据,该方法是PUT,为什么要使用GET方法
$('#checkout_btn').click(function addseries(e){
var VST_ID = $(e.currentTarget).attr('data-id');
$.ajax({
type: "PUT",
url: 'visitor/checkout' + VST_ID,
success: function(data) {
console.log(data);
}
});
});
更换控制器
public function Checkout(Request $request, $id)
{
$visitor = Visitor::find($id);
$visitor->VST_CHECKOUT = date('Y-m-d H:i:s');
$visitor->UPDATED_AT = date('Y-m-d H:i:s');
$visitor->UPDATED_BY = 'User';
$visitor->save();
return redirect()->route('Visitor.VList')->with('message','The Visitor has been Checked Out !');
}
并更改您的route.php
Route::put('visitor/checkout/{id}', 'visitorController@Checkout');
javascript不会自己更新表-表不知道数据库中现在有新数据。您需要在签出函数中返回新数据,并手动更新表行