使用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中文本操作的类
Mar 17 PHP
php park、unpark、ord 函数使用方法(二进制流接口应用实例)
Oct 19 PHP
php调用mysql数据 dbclass类
May 07 PHP
php数组函数序列之array_search()- 按元素值返回键名
Nov 04 PHP
php实现的CSS更新类实例
Sep 22 PHP
推荐十款免费 WordPress 插件
Mar 24 PHP
8个必备的PHP功能开发
Oct 02 PHP
yii2分页之实现跳转到具体某页的实例代码
Jun 02 PHP
PHP编程文件处理类SplFileObject和SplFileInfo用法实例分析
Jul 22 PHP
PHP实现找出有序数组中绝对值最小的数算法分析
Aug 07 PHP
php中错误处理操作实例分析
Aug 23 PHP
php创建类并调用的实例方法
Sep 25 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 全局变量范围分析
2009/08/07 PHP
PHP三层结构(上) 简单三层结构
2010/07/04 PHP
PHP的explode和implode的使用说明
2011/07/17 PHP
php警告Creating default object from empty value 问题的解决方法
2014/04/02 PHP
php小技巧之过滤ascii控制字符
2014/05/14 PHP
PHP生成随机数的方法实例分析
2015/01/22 PHP
PHP Callable强制指定回调类型的方法
2016/08/30 PHP
Javascript实例教程(19) 使用HoTMetal(7)
2006/12/23 Javascript
JavaScript函数、方法、对象代码
2008/10/29 Javascript
前端jquery部分很精彩
2016/05/03 Javascript
关于JS 预解释的相关理解
2016/06/28 Javascript
javascript数组对象常用api函数小结(连接,插入,删除,反转,排序等)
2016/09/20 Javascript
React Native之TextInput组件解析示例
2017/08/22 Javascript
JavaScript之创意时钟项目(实例讲解)
2017/10/23 Javascript
微信小程序页面生命周期详解
2018/01/31 Javascript
vue富文本框(插入文本、图片、视频)的使用及问题小结
2018/08/17 Javascript
Vue异步组件处理路由组件加载状态的解决方案
2018/09/07 Javascript
mongodb初始化并使用node.js实现mongodb操作封装方法
2019/04/02 Javascript
Vue项目中ESlint规范示例代码
2019/07/04 Javascript
vue+render+jsx实现可编辑动态多级表头table的实例代码
2020/04/01 Javascript
Python中处理字符串之endswith()方法的使用简介
2015/05/18 Python
Python爬虫包 BeautifulSoup  递归抓取实例详解
2017/01/28 Python
Python 中pandas.read_excel详细介绍
2017/06/23 Python
pycharm远程调试openstack代码
2017/11/21 Python
django 2.0更新的10条注意事项总结
2018/01/05 Python
如何用Python实现简单的Markdown转换器
2018/07/16 Python
Python函数返回不定数量的值方法
2019/01/22 Python
Python微医挂号网医生数据抓取
2019/01/24 Python
几款Python编译器比较与推荐(小结)
2020/10/15 Python
中国旅游网站:途牛旅游网
2019/09/29 全球购物
电气工程及其自动化自我评价四篇
2013/09/24 职场文书
学期自我评价
2014/01/27 职场文书
信用卡工资证明格式
2014/09/13 职场文书
家庭贫困证明书(3篇)
2014/09/15 职场文书
干部作风建设个人剖析材料
2014/10/11 职场文书
CSS Transition通过改变Height实现展开收起元素
2021/08/07 HTML / CSS