使用laravel和ajax实现整个页面无刷新的操作方法
网络编程 2021-07-04 23:05www.168986.cn编程入门
今天长沙网络推广就为大家分享一篇使用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') <div class="contain" style="width: 84%;" id="contain"> <div style="width:30%;margin-bottom:20px;"> <select class="form-control" id="project"> <option value="0" >请选择城市</option> @foreach ($projects as $project) <option value="{{ $project->id }}" @if("{{ $project->id }}" == "{{ $project_id }}")selected="selected"@endif >{{ $project->name }}</option> @endforeach </select> </div> <table class="table table-hover"> <thead> <tr> <th>id</th> <th>键名</th> <th>数据结构</th> <th>过期时间</th> <th>使用者</th> <th>使用原因</th> <th>操作</th> </tr> </thead> <tbody> @foreach ($keys as $key) <tr> <td>{{ $key->id }}</td> <td>{{ $key->name }}</td> <td>{{ $key->structure }}</td> <td>{{ date("Y-m-d H:i:s", ($key->ttl + $key->created_time)) }}</td> <td>{{ $key->user }}</td> <td>{{ $key->reason }}</td> <td>修改 删除</td> </tr> @endforeach </tbody> <div style="position:absolute;:450px;right:120px;"> {{ $keys->render() }} <div style="float:right;letter-spacing: 2px;margin-left:10px;" class="pagi__count"> 共<b>{{ $count }}</b>条数据</div> </div> </table> </div>
效果
3、使用ajax给选择框加上change事件,触发时,到KeyController下的klist方法,并传入project_id,在klist方法中进行处理,获取数据传出来,将整个页面的body的内容全都改变。
<script type="text/javascript"> $('#project').change(function() { $.post("{{ url('key/klist') }}/"+$('#project').val(), // 路由为Route::any('/key/klist/{project_id}') {'_token': '{{ csrf_token() }}'}, function(data) { $('#body').html(data); }); }); </script>
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', pact('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', pact('project_id' ,'projects', 'keys', 'count')); }
5、实现当下拉框改变时,内容改变并未刷新
以上这篇使用laravel和ajax实现整个页面无刷新的操作方法就是长沙网络推广分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持狼蚁SEO。
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程