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


Posted in PHP onOctober 03, 2019

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;top: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>

效果:

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

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', 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、实现:当下拉框改变时,内容改变并未刷新

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

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

PHP 相关文章推荐
PHP中全局变量global和$GLOBALS[]的区别分析
Aug 06 PHP
PHP中extract()函数的定义和用法
Aug 17 PHP
PHP register_shutdown_function函数的深入解析
Jun 03 PHP
PHP验证码函数代码(简单实用)
Sep 29 PHP
PHP 提取图片img标记中的任意属性的简单实例
Dec 10 PHP
PHP微框架Dispatch简介
Jun 12 PHP
PHP中使用strpos函数实现屏蔽敏感关键字功能
Aug 21 PHP
PHP设计模式之单例模式原理与实现方法分析
Apr 25 PHP
php + WebUploader实现图片批量上传功能
May 06 PHP
php设计模式之原型模式分析【星际争霸游戏案例】
Mar 23 PHP
php中pcntl_fork详解
Apr 01 PHP
laravel 实现登陆后返回登陆前的页面方法
Oct 03 #PHP
解决laravel-admin 自己新建页面里 js 需要刷新一次的问题
Oct 03 #PHP
基于laravel-admin 后台 列表标签背景的使用方法
Oct 03 #PHP
浅谈laravel-admin的sortable和orderby使用问题
Oct 03 #PHP
关于laravel后台模板laravel-admin select框的使用详解
Oct 03 #PHP
laravel-admin select框默认选中的方法
Oct 03 #PHP
laravel-admin 后台表格筛选设置默认的查询日期方法
Oct 03 #PHP
You might like
PHP CURL CURLOPT参数说明(curl_setopt)
2013/09/30 PHP
php使用glob函数快速查询指定目录文件的方法
2014/11/15 PHP
php版阿里云OSS图片上传类详解
2016/12/01 PHP
thinkphp修改配置进入默认首页的方法
2017/02/07 PHP
Javascript的setTimeout()使用闭包特性时需要注意的问题
2014/09/23 Javascript
jQuery实现的个性化返回底部与返回顶部特效代码
2015/10/30 Javascript
jQuery实现点击任意位置弹出层外关闭弹出层效果
2016/10/19 Javascript
JS中页面与页面之间超链接跳转中文乱码问题的解决办法
2016/12/15 Javascript
JavaScript基本语法_动力节点Java学院整理
2017/06/26 Javascript
JS实现的邮箱提示补全效果示例
2018/01/30 Javascript
vue+elementUI实现表格关键字筛选高亮
2020/10/26 Javascript
JavaScript将数组转换为链表的方法
2020/02/16 Javascript
vue实现评价星星功能
2020/06/30 Javascript
vue-cli 关闭热更新操作
2020/09/18 Javascript
[49:35]2018DOTA2亚洲邀请赛3月30日 小组赛A组 KG VS TNC
2018/03/31 DOTA
Python中函数的参数定义和可变参数用法实例分析
2015/06/04 Python
Python字典简介以及用法详解
2016/11/15 Python
Python元组操作实例分析【创建、赋值、更新、删除等】
2017/07/24 Python
情人节快乐! python绘制漂亮玫瑰
2020/08/18 Python
python实现微信防撤回神器
2019/04/29 Python
Python 实现自动导入缺失的库
2019/10/29 Python
pytorch GAN生成对抗网络实例
2020/01/10 Python
python实现批处理文件
2020/07/28 Python
css3实现3D色子翻转特效
2014/12/23 HTML / CSS
超30万乐谱下载:Musicnotes.com
2016/09/24 全球购物
美国在线旅行社:Crystal Travel
2018/09/11 全球购物
标记环介质访问控制协议
2016/03/27 面试题
函授毕业生自我鉴定
2013/11/06 职场文书
校园标语大全
2014/06/19 职场文书
公司委托书范本5篇
2014/09/20 职场文书
审美与表现自我评价
2015/03/09 职场文书
2015国际残疾人日活动总结
2015/03/24 职场文书
大学体育课感想
2015/08/10 职场文书
高中生物教学反思
2016/02/20 职场文书
2016年党支部公开承诺书
2016/03/25 职场文书
聊聊Lombok中的@Builder注解使用教程
2021/11/17 Java/Android