php无刷新实现页面更新,使用laravel和ajax实现整个页面无刷新的操作方法

1、数据库文件

CREATE TABLE IF NOT EXISTS mr_key

(

id int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT COMMENT '键id',

project_id int(11) NOT NULL COMMENT '外键项目id',

name varchar(100) NOT NULL COMMENT '键名',

structure enum('string', 'hash', 'list', 'set', 'zset') COMMENT '数据结构',

ttl varchar(50) NOT NULL COMMENT '过期时间',

user varchar(20) NOT NULL COMMENT '使用者',

reason varchar(255) NOT NULL COMMENT '使用原因',

created_time int(11) NOT NULL COMMENT '创建时间',

isDelete int(2) NOT NULL DEFAULT '0' COMMENT '是否删除(0=不删除,1=删除)'

)ENGINE=innodb DEFAULT CHARSET=utf8 COMMENT='键表';

2、首页的内容

@include('layout.nav')

@include('layout.slide')

请选择城市

@foreach ($projects as $project)

id }}" == "{{ $project_id }}")selected="selected"@endif >{{ $project->name }}

@endforeach

id键名数据结构过期时间使用者使用原因操作

@foreach ($keys as $key)

{{ $key->id }}{{ $key->name }}{{ $key->structure }}{{ date("Y-m-d H:i:s", ($key->ttl + $key->created_time)) }}{{ $key->user }}{{ $key->reason }}修改 删除

@endforeach

{{ $keys->render() }}

{{ $count }}条数据

效果:

07fb295d1ac6adb8882263b8b08881bc.png

3、使用ajax:给选择框加上change事件,触发时,到KeyController下的klist方法,并传入project_id,在klist方法中进行处理,获取数据传出来,将整个页面的body的内容全都改变。

$('#project').change(function() {

$.post("{{ url('key/klist') }}/"+$('#project').val(), // 路由为Route::any('/key/klist/{project_id}')

{'_token': '{{ csrf_token() }}'}, function(data) {

$('#body').html(data);

});

});

4、klist的方法:判断传入的project_id为0的话,就获取全部数据,不为0,则获取外键==project_id的key的值,将整个页面都传出去

public function klist($project_id)

{

if($project_id == 0) {

$projects = Project::all();

$keys = Key::orderBy('created_time', 'desc')->paginate(8);

$count = Key::count();

$project_id = 0;

return view('key.index', compact('project_id', 'projects','keys', 'count'));

}

$projects = Project::all();

$keys = Project::find($project_id)->key()->paginate(8);

$count = Project::find($project_id)->key->count();

return view('key.index', compact('project_id' ,'projects', 'keys', 'count'));

}

5、实现:当下拉框改变时,内容改变并未刷新

b4acb06fb8d13cf19ad0ef9d9701b338.png

以上这篇使用laravel和ajax实现整个页面无刷新的操作方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值