怎么使用laravel和ajax實現(xiàn)整個頁面無刷新-創(chuàng)新互聯(lián)

這篇文章給大家分享的是有關(guān)怎么使用laravel和ajax實現(xiàn)整個頁面無刷新的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

成都創(chuàng)新互聯(lián)公司秉承實現(xiàn)全網(wǎng)價值營銷的理念,以專業(yè)定制企業(yè)官網(wǎng),做網(wǎng)站、網(wǎng)站制作,微信小程序,網(wǎng)頁設計制作,手機網(wǎng)站開發(fā),成都全網(wǎng)營銷幫助傳統(tǒng)企業(yè)實現(xiàn)“互聯(lián)網(wǎng)+”轉(zhuǎn)型升級專業(yè)定制企業(yè)官網(wǎng),公司注重人才、技術(shù)和管理,匯聚了一批優(yōu)秀的互聯(lián)網(wǎng)技術(shù)人才,對客戶都以感恩的心態(tài)奉獻自己的專業(yè)和所長。

1、數(shù)據(jù)庫文件

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 '數(shù)據(jù)結(jié)構(gòu)',
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 '創(chuàng)建時間',
isDelete int(2) NOT NULL DEFAULT '0' COMMENT '是否刪除(0=不刪除,1=刪除)'
)ENGINE=innodb DEFAULT CHARSET=utf8 COMMENT='鍵表';

2、首頁的內(nèi)容

@include('layout.nav')
 @include('layout.slide')
 
 <div class="contain"  id="contain">
  <div >
   <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>數(shù)據(jù)結(jié)構(gòu)</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 >
    {{ $keys->render() }}
    <div  class="pagi__count"> 共<b>{{ $count }}</b>條數(shù)據(jù)</div>
   </div>
 
  </table>
 </div>

效果:

怎么使用laravel和ajax實現(xiàn)整個頁面無刷新

3、使用ajax:給選擇框加上change事件,觸發(fā)時,到KeyController下的klist方法,并傳入project_id,在klist方法中進行處理,獲取數(shù)據(jù)傳出來,將整個頁面的body的內(nèi)容全都改變。

 <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的話,就獲取全部數(shù)據(jù),不為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、實現(xiàn):當下拉框改變時,內(nèi)容改變并未刷新

怎么使用laravel和ajax實現(xiàn)整個頁面無刷新

Laravel 是什么

Laravel 是一套簡潔、優(yōu)雅的PHP Web開發(fā)框架。它可以讓你從面條一樣雜亂的代碼中解脫出來;它可以幫你構(gòu)建一個完美的網(wǎng)絡APP,而且每行代碼都可以簡潔、富于表達力。

感謝各位的閱讀!關(guān)于“怎么使用laravel和ajax實現(xiàn)整個頁面無刷新”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

網(wǎng)站名稱:怎么使用laravel和ajax實現(xiàn)整個頁面無刷新-創(chuàng)新互聯(lián)
標題來源:http://bm7419.com/article38/dpoppp.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈、云服務器、商城網(wǎng)站、App開發(fā)、外貿(mào)建站、網(wǎng)站改版

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)