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

 更新时间:2019年10月03日 20:50:33   作者:snow_small  
今天小编就为大家分享一篇使用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;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>

效果:

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实现整个页面无刷新的操作方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • PHP Cookie的使用教程详解

    PHP Cookie的使用教程详解

    本篇文章是对PHP Cookie的使用进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • CI框架中类的自动加载问题分析

    CI框架中类的自动加载问题分析

    这篇文章主要介绍了CI框架中类的自动加载问题,结合实例形式分析了CI框架中类的自动加载功能与具体操作技巧,需要的朋友可以参考下
    2016-11-11
  • Yii实现单用户博客系统文章详情页插入评论表单的方法

    Yii实现单用户博客系统文章详情页插入评论表单的方法

    这篇文章主要介绍了Yii实现单用户博客系统文章详情页插入评论表单的方法,结合实例分析了Yii实现文章详情页评论表单功能的具体技巧,需要的朋友可以参考下
    2015-12-12
  • php微信开发之上传临时素材

    php微信开发之上传临时素材

    这篇文章主要为大家详细介绍了PHP微信开发之简单实现上传临时素材的相关资料,感兴趣的小伙伴们可以参考一下
    2016-06-06
  • Laravel配合jwt使用的方法实例

    Laravel配合jwt使用的方法实例

    这篇文章主要给大家介绍了关于Laravel配合jwt使用的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • PHP开发中csrf攻击的简单演示和防范

    PHP开发中csrf攻击的简单演示和防范

    CSRF的全名为Cross-site request forgery,它的中文名为 跨站请求伪造(伪造跨站请求【这样读顺口一点】)CSRF是一种夹持用户在已经登陆的web应用程序上执行非本意的操作的攻击方式。相比于XSS,CSRF是利用了系统对页面浏览器的信任,XSS则利用了系统对用户的信任。
    2017-05-05
  • Yii中的cookie的发送和读取

    Yii中的cookie的发送和读取

    新创建的cookie会从本地传到服务器上,然后从服务器获取。这篇文章主要介绍了Yii中的cookie的发送和cookie的读取相关资料,需要的朋友可以参考下
    2016-07-07
  • twig模板获取全局变量的方法

    twig模板获取全局变量的方法

    这篇文章主要介绍了twig模板获取全局变量的方法,结合实例形式分析了twig模板操作变量的常用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2016-02-02
  • 基于php上传图片重命名的6种解决方法的详细介绍

    基于php上传图片重命名的6种解决方法的详细介绍

    本篇文章介绍了,在php中上传图片重命名的6种解决方法的详细说明,需要的朋友参考下
    2013-04-04
  • WordPress中is_singular()函数简介

    WordPress中is_singular()函数简介

    这篇文章主要介绍了WordPress中is_singular()函数简介的相关资料,需要的朋友可以参考下
    2015-02-02

最新评论