欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Ajax獲取數(shù)據(jù)然后顯示在頁面的實現(xiàn)方法

 更新時間:2016年08月23日 11:28:01   投稿:jingxian  
下面小編就為大家?guī)硪黄狝jax獲取數(shù)據(jù)然后顯示在頁面的實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

主要功能流程介紹

循環(huán)獲取列表數(shù)據(jù)

點擊列表數(shù)據(jù)進(jìn)入詳情頁

點擊報名參加彈出報名成功提示框

點擊提示框中的確定按鈕,跳回列表頁

代碼實現(xiàn)流程和解說

一、列表頁

1、訪問鏈接list.php時判斷是pc端還是客戶端

$user_agent_arr = mall_get_user_agent_arr();
if(MALL_UA_IS_PC == 1)
{
  //****************** pc版 ******************
  include_once './list-pc.php';

}
else
{

  //****************** wap版 ******************
  include_once './list-wap.php';

} 

2、如果是wap版就跳轉(zhuǎn)到 list-wap.php 頁面,載入 list.tpl.htm頁面

$pc_wap = 'wap/';
$tpl = $my_app_pai->getView(TASK_TEMPLATES_ROOT.$pc_wap.'trade/list.tpl.htm');

3、list.tpl.htm 頁面進(jìn)行渲染模板

HTML

<div class="page-view " data-role="page-container">

    <div class="sales-list-page">
      <div id="render-ele"></div>
    </div>

  </div>

JS

$(function()
  // 渲染模塊
  {
    //請求php的url
    var TRADE_AJAX_URL = window.$__ajax_domain + 'get_trade_list.php';
    //獲取已經(jīng)封裝在list.js里面的一個對象list_item_class
    var list_item_class = require('../../../../modules/list/list.js');
    //獲取模板塊
    var template = __inline('./list-item.tmpl');

    var list_obj = new list_item_class({
      ele : $("#render-ele"),//渲染數(shù)據(jù)到id為render-ele中
      url : TRADE_AJAX_URL,//請求數(shù)據(jù)連接
      template : template //渲染的模板
    });

  });

list-item.tmpl模板內(nèi)容(循環(huán)的列表內(nèi)容)

<div class="item-wrap">
  {{#each list}}
  {{#if is_enroll}}
  <a href="./detail.php?topic_id={{id}}&state=is_enter">
  {{else}}
  <a href="./detail.php?topic_id={{id}}&state=no_enter">
  {{/if}}
    <div class="item ui-border-b" >
      <div class="img-item">
        <i class="img" style="background-image: url({{img}});">

        </i>
      </div>
      <div class="text-item">
        <div class="txt-con-1">
          <h3 class="title f14">{{title}}</h3>
          <p class="txt f10 color-999">所屬品類:{{type}}</p>

        </div>
        <div class="txt-con-2">
          <span class="color-333 join-in ">
            {{ enroll_text }} 
          </span>

        </div>
      </div>
    </div>
  </a>
  {{/each}}
</div>

4、list.js進(jìn)行數(shù)據(jù)處理,僅是對象的部分方法,具體的方法請自行寫。

 _self.ajax_obj = utility.ajax_request 
({
  url : self.send_url,
  data : self.ajax_params,
  beforeSend : function()
  {
self._sending = true;
_self.$loading = $.loading
({
  content:'加載中...'
});

  },
  success : function(data)
  {
self._sending = false;
//獲取數(shù)據(jù)
var list_data = data.result_data.list;
console.log(data);
//渲染前處理事件
self.$el.trigger('list_render:before',[self.$list_container,data]);

_self.$loading.loading("hide");

//是否有分頁
self.has_next_page = data.result_data.has_next_page;

// 無數(shù)據(jù)處理 
if(!list_data.length && page == 1)
{
  abnormal.render(self.$render_ele[0],{});

  self.$load_more.addClass('fn-hide');

  return;
}
else
{
  self.$load_more.removeClass('fn-hide');
}

//把數(shù)據(jù)放入模板
var html_str = self.template
({
  list : list_data
});
//插入渲染列表
self.$list_container.append(html_str);
//渲染后處理事件
self.$el.trigger('list_render:after',[self.$list_container,data,$(html_str)]);

self.setup_event();
  },
  error : function()
  {
self._sending = false;
_self.$loading.loading("hide");
$.tips
  ({
content:'網(wǎng)絡(luò)異常',
stayTime:3000,
type:'warn'
  });
  }
})

5、get_trade_list.php接收到前端頁面發(fā)過來的請求,然后進(jìn)行數(shù)據(jù)收集處理最終返回數(shù)據(jù)給前臺頁面

// 接收參數(shù)
$page = intval($_INPUT['page']);



if(empty($page))
{
  $page = 1;
}

// 分頁使用的page_count
$page_count = 5;

if($page > 1)
{
  $limit_start = ($page - 1)*($page_count - 1);
}
else
{
  $limit_start = ($page - 1)*$page_count;
}

$limit = "{$limit_start},{$page_count}";



//請求數(shù)據(jù)庫的借口
$sales_list_obj = POCO::singleton ( 'pai_topic_class' );
$ret = $sales_list_obj-> get_task_list(false, '', 'id DESC', $limit);





// 輸出前進(jìn)行過濾最后一個數(shù)據(jù),用于真實輸出
$rel_page_count = 4;



$has_next_page = (count($ret)>$rel_page_count);

if($has_next_page)
{
  array_pop($ret);
}

$output_arr['page'] = $page;

$output_arr['has_next_page'] = $has_next_page;

$output_arr['list'] = $ret;

// 輸出數(shù)據(jù)
mall_mobile_output($output_arr,false);

6、前端頁面接收到get_trade_list.php返回的數(shù)據(jù),從而進(jìn)行判斷將數(shù)據(jù)庫的內(nèi)容顯示在前臺頁面中。模板輸出

$tpl->output();

詳情頁

1、點擊列表頁進(jìn)入詳情頁(detail.php)

detail.php頁面 接收 列表傳過來的數(shù)據(jù)

//接收list傳過來的參數(shù)
$topic_id = intval($_INPUT['topic_id']);
$state = $_INPUT['state'];

if (empty($topic_id)) 
{
  header("location: ".'./list.php');
}

//數(shù)據(jù)庫借口
$trade_detail_obj = POCO::singleton ( 'pai_topic_class' );
$ret = $trade_detail_obj->get_task_detail($topic_id,$yue_login_id);

2、判斷是pc端還是客戶端(類似列表頁)

3、跳轉(zhuǎn)到detail-wap.php加載模板detail.tpl.htm同時也帶參數(shù)過去

$pc_wap = 'wap/';
$tpl = $my_app_pai->getView(TASK_TEMPLATES_ROOT.$pc_wap.'trade/detail.tpl.htm');

//模板附帶以下三個參數(shù)到detail.tpl.htm中
$tpl->assign('ret', $ret);
$tpl->assign('topic_id', $topic_id);
$tpl->assign('state', $state);

4、頁面引用對象ret中的字段

<div class="sales-detail-page">
  <div class="item-wrap">
<div class="item-1 item">
  <div class="img-item">
<i class="img" >
<img src="{ret.img}"/>
</i>
  </div> 
  <div class="txt-item">
<h3 class="title f16 color-333 fb">{ret.title}</h3>
<p class="sign-in-txt color-666">
  {ret.enroll_text}
</p>
  </div>
</div>

<div class="item-3 item">
  <div class="txt-item">
<h3 class="title f14 color-333 fb">生意機(jī)會詳情</h3>
<div class="txt-con f14 color-666">
  <p class="txt">{ret.content}</p>
</div>
  </div>
</div>
  </div>
  <div class="sign-name-item">
  <!-- IF state = "is_enter" -->
<button class="ui-button-submit had-joined">
  <span class="ui-button-content">已參加</span>
</button>
  <!-- ELSE -->
  <button class="ui-button-submit" id="submit">
<span class="ui-button-content">報名參加</span>
  </button>
  <!-- ENDIF -->
  </div>
</div>

5、點擊報名參加按鈕進(jìn)行數(shù)據(jù)處理

var _self = {};
$btn.on('click', function() {
  var data = 
  {
topic_id : {ret.id}
  }
  utility.ajax_request({
url : window.$__ajax_domain+'add_task_enroll_trade.php',
data : data,
type : 'POST',
cache : false,
beforeSend : function() 
{
  _self.$loading = $.loading({
content : '發(fā)送中.....'
  });
},
success : function(data) 
{
  _self.$loading.loading("hide");
  //請求成功后顯示成功報名提示框,點擊報名提示框確定按鈕跳回列表頁面
if (data.result_data.result==1) 
{
var dialog = utility.dialog
({
  "title" : '' ,
  "content" : '提交成功,點擊確定返回',
  "buttons" : ["確定"]
});
 dialog.on('confirm',function(event,args)
   {
   window.location.href = document.referrer;
   });

  return;
   }





},  
error : function() 
{
  _self.$loading.loading("hide");
  $.tips({
content : '網(wǎng)絡(luò)異常',
stayTime : 3000,
type : 'warn'
  });
}

  });

});

以上這篇Ajax獲取數(shù)據(jù)然后顯示在頁面的實現(xiàn)方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • jQuery Ajax的readyState和status的區(qū)別和使用詳解

    jQuery Ajax的readyState和status的區(qū)別和使用詳解

    在前幾篇分析了jquery的ajax異步和同步,以及異常的一些處理,感覺還沒有把a(bǔ)jax的readyState和status說清楚.今天就來說說ajax狀態(tài)的那點事,非常不錯,對ajax readystate和status區(qū)別和使用感興趣的朋友一起學(xué)習(xí)吧
    2017-03-03
  • 極致體驗ajax局部和整體刷新

    極致體驗ajax局部和整體刷新

    本篇文章將向大家介紹如何通過jquery的load方法進(jìn)行局部刷新,通過封裝三個屬性然后我們來使用,以此達(dá)到我們想要的效果,本文寫的非常好,感興趣的朋友一起看看吧
    2015-09-09
  • AJAX請求數(shù)據(jù)及實現(xiàn)跨域的三種方法詳解

    AJAX請求數(shù)據(jù)及實現(xiàn)跨域的三種方法詳解

    ajax跨域這個問題其實很常見,這篇文章主要給大家介紹了關(guān)于AJAX請求數(shù)據(jù)及實現(xiàn)跨域的三種方法的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2021-12-12
  • ajax實現(xiàn)分頁和分頁查詢

    ajax實現(xiàn)分頁和分頁查詢

    本文主要介紹了ajax實現(xiàn)分頁和分頁查詢的相關(guān)知識,具有很好的參考價值,下面跟著小編一起來看下吧
    2017-03-03
  • ajax實現(xiàn)登錄功能

    ajax實現(xiàn)登錄功能

    本文主要介紹了ajax實現(xiàn)登錄功能的示例代碼。具有很好的參考價值。下面跟著小編一起來看下吧
    2017-03-03
  • 關(guān)于Ajax跨域問題及解決方案詳析

    關(guān)于Ajax跨域問題及解決方案詳析

    這篇文章主要給大家介紹了Ajax跨域問題以及解決方案的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Ajax具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • Ajax的小貼士使用小結(jié)

    Ajax的小貼士使用小結(jié)

    Ajax的小貼士使用小結(jié)...
    2007-10-10
  • Ajax返回值類型與用法實例分析

    Ajax返回值類型與用法實例分析

    這篇文章主要介紹了Ajax返回值類型與用法,結(jié)合實例形式分析了ajax返回值的xml類型與文本類型詳細(xì)分類、用法與相關(guān)操作注意事項,需要的朋友可以參考下
    2019-07-07
  • 用Ajax讀取XML格式的數(shù)據(jù)

    用Ajax讀取XML格式的數(shù)據(jù)

    用Ajax讀取XML格式的數(shù)據(jù)...
    2006-11-11
  • Ajax 對象 包含post和get兩種異步傳輸方式

    Ajax 對象 包含post和get兩種異步傳輸方式

    Ajax對象接受一個對象字面量為參數(shù),這個對象字面量中包含method,url,success,params,fail參數(shù)
    2009-07-07

最新評論