AJAX相信大家都不陌生,有很多不同的Javascript Frameworks可以用来快速实现AJAX功能。那么今天我们一起来看一下如何在使用了PHP Frameworks的网站中使用AJAX来刷新页面的一小部分。
这里我使用的是jQuery + Laravel(当然如果使用了其他框架,基本的概念也是不变的)。如图,假设我们制作了一个页面来管理客户的茶叶消耗:
展示:
<td>
@if($arr['fang_status'] == 0)
<span fang_status="{{$arr['fang_status']}}" onclick="changeStatus(this,{{$arr['id']}})"
class="label label-defalut radius">未出租</span>
@else
<span fang_status="{{$arr['fang_status']}}" onclick="changeStatus(this,{{$arr['id']}})"
class="label label-success radius">已出租</span>
@endif
</td>
js代码修改
function changeStatus(obj, fang_id) {
var url = "{{url('admin/fang/changestatus')}}";
//获取状态
let fang_status = $(obj).attr('fang_status');
if (fang_status ==0) {
fang_status =1;
}else{
fang_status =0;
}
$.get(url, {
fang_id,fang_status
}).then(ret => {
if (fang_status == 0) {
$(obj).removeClass('label-success').addClass('label-defalut').html('未租');
} else {
$(obj).removeClass('label-defalut').addClass('label-success').html('已出租');
}
$(obj).attr('fang_status',fang_status);
})
}
php后台代码
public function changestatus(Request $request)
{
$fangID = $request->get('fang_id');
$fangStatus= $request->get('fang_status');
Fang::where('id','=',$fangID)->update(['fang_status'=>$fangStatus]);
return ['errorCode'=>0,'msg'=>'修改成功','data'=>''];
}
这样就实现ajax无刷新修改成功了!!!