使用Bootstrap Tabs选项卡Ajax加载数据实现

使用Bootstrap Tabs选项卡Ajax加载数据实现,是一个常见的前端技术组合。其主要流程如下:

使用Bootstrap Tabs选项卡Ajax加载数据实现,是一个常见的前端技术组合。其主要流程如下:

  1. 在页面上创建Bootstrap Tabs选项卡结构,即一个ul列表和多个对应的div内容区域。

  2. 在每个内容区域中预留一个空div,用于接收Ajax加载后的数据,同时在ul列表中对应的li标签中添加数据源链接。

  3. 当用户点击对应li标签时,通过Ajax从后台获取数据,并将获取到的数据填充到内容区域对应的空div中。

  4. 实现过程中需要注意的细节有:事件绑定、数据传递格式、loading效果等。

下面通过两个具体的示例演示如何实现Bootstrap Tabs选项卡Ajax加载数据。

示例1:从本地JSON文件中获取数据

index.html代码:

<ul class="nav nav-tabs" id="myTab">
  <li><a href="data1.json" data-toggle="tab">Tab1</a></li>
  <li><a href="data2.json" data-toggle="tab">Tab2</a></li>
  <li><a href="data3.json" data-toggle="tab">Tab3</a></li>
</ul>
<div class="tab-content">
  <div class="tab-pane active" id="tab1"></div>
  <div class="tab-pane" id="tab2"></div>
  <div class="tab-pane" id="tab3"></div>
</div>

JavaScript代码:

$(function(){
  $('a[data-toggle="tab"]').on('shown.bs.tab', function (e) {
    var target = $(e.target).attr("href"); // activated tab
    $.ajax({
      url: target,
      success: function(result){
        $(target + ' ~ .tab-content').find(target).html(result);
      },
      error: function(){
        $(target + ' ~ .tab-content').find(target).html('<p class="text-danger">数据获取失败</p>');
      }
    });
  });
});

data1.json、data2.json、data3.json文件中的数据格式可以自由定义,只需保证能够正确解析即可。

示例2:从远程数据源获取数据

index.html代码:

<ul class="nav nav-tabs" id="myTab">
  <li><a href="https://jsonplaceholder.typicode.com/todos?userId=1" data-toggle="tab">User1</a></li>
  <li><a href="https://jsonplaceholder.typicode.com/todos?userId=2" data-toggle="tab">User2</a></li>
  <li><a href="https://jsonplaceholder.typicode.com/todos?userId=3" data-toggle="tab">User3</a></li>
</ul>
<div class="tab-content">
  <div class="tab-pane active" id="tab1"></div>
  <div class="tab-pane" id="tab2"></div>
  <div class="tab-pane" id="tab3"></div>
</div>

JavaScript代码:

$(function(){
  $('a[data-toggle="tab"]').on('shown.bs.tab', function (e) {
    var target = $(e.target).attr("href"); // activated tab
    $(target).html('<p class="text-info">数据加载中...</p>')
    $.ajax({
      url: $(e.target).attr("href"),
      dataType: 'json',
      success: function(result){
        var html = '<ul>';
        for(var i=0; i<result.length; i++){
          html+= '<li>'+result[i].title+'</li>'
        }
        html+= '</ul>';
        $(target).html(html);
      },
      error: function(){
        $(target).html('<p class="text-danger">数据获取失败</p>');
      }
    });
  });
});

以上两个示例分别从本地json文件和远程数据源获取数据,并将数据以列表的形式呈现。这就是Bootstrap Tabs选项卡Ajax加载数据实现的一种方式,开发者在实际项目中可以根据具体的需求来自由定制。

本文标题为:使用Bootstrap Tabs选项卡Ajax加载数据实现

基础教程推荐