iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > html >Ajax如何实现获取数据后显示在页面
  • 517
分享到

Ajax如何实现获取数据后显示在页面

2024-04-02 19:04:59 517人浏览 安东尼
摘要

这篇文章主要介绍ajax如何实现获取数据后显示在页面,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!主要功能流程介绍循环获取列表数据 点击列表数据进入详情页点击报名参加弹出报名成功提示

这篇文章主要介绍ajax如何实现获取数据后显示在页面,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

主要功能流程介绍

循环获取列表数据

Ajax如何实现获取数据后显示在页面

点击列表数据进入详情页

Ajax如何实现获取数据后显示在页面

点击报名参加弹出报名成功提示框

Ajax如何实现获取数据后显示在页面

点击提示框中的确定按钮,跳回列表页

代码实现流程和解说

一、列表页

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版就跳转到 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 页面进行渲染模板

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';
    //获取已经封装在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"),//渲染数据到id为render-ele中
      url : TRADE_AJAX_URL,//请求数据连接
      template : template //渲染的模板
    });

  });

list-item.tmpl模板内容(循环的列表内容)

<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" >

        </i>
      </div>
      <div class="text-item">
        <div class="txt-con-1">
          <h4 class="title f14">{{title}}</h4>
          <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进行数据处理,仅是对象的部分方法,具体的方法请自行写。

 _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;
//获取数据
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;

// 无数据处理 
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');
}

//把数据放入模板
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:'网络异常',
stayTime:3000,
type:'warn'
  });
  }
})

5、get_trade_list.php接收到前端页面发过来的请求,然后进行数据收集处理最终返回数据给前台页面

// 接收参数
$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}";



//请求数据库的借口
$sales_list_obj = POCO::singleton ( 'pai_topic_class' );
$ret = $sales_list_obj-> get_task_list(false, '', 'id DESC', $limit);





// 输出前进行过滤最后一个数据,用于真实输出
$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;

// 输出数据
mall_mobile_output($output_arr,false);

6、前端页面接收到get_trade_list.php返回的数据,从而进行判断将数据库的内容显示在前台页面中。模板输出

$tpl->output();

详情页

1、点击列表页进入详情页(detail.php)

detail.php页面 接收 列表传过来的数据

//接收list传过来的参数
$topic_id = intval($_INPUT['topic_id']);
$state = $_INPUT['state'];

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

//数据库借口
$trade_detail_obj = POCO::singleton ( 'pai_topic_class' );
$ret = $trade_detail_obj->get_task_detail($topic_id,$yue_login_id);

2、判断是pc端还是客户端(类似列表页)

3、跳转到detail-wap.php加载模板detail.tpl.htm同时也带参数过去

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

//模板附带以下三个参数到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">
<h4 class="title f16 color-333 fb">{ret.title}</h4>
<p class="sign-in-txt color-666">
  {ret.enroll_text}
</p>
  </div>
</div>

<div class="item-3 item">
  <div class="txt-item">
<h4 class="title f14 color-333 fb">生意机会详情</h4>
<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、点击报名参加按钮进行数据处理

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 : '发送中.....'
  });
},
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 : '网络异常',
stayTime : 3000,
type : 'warn'
  });
}

  });

});

以上是“Ajax如何实现获取数据后显示在页面”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网html频道!

--结束END--

本文标题: Ajax如何实现获取数据后显示在页面

本文链接: https://www.lsjlt.com/news/69027.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Ajax如何实现获取数据后显示在页面
    这篇文章主要介绍Ajax如何实现获取数据后显示在页面,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!主要功能流程介绍循环获取列表数据 点击列表数据进入详情页点击报名参加弹出报名成功提示...
    99+
    2022-10-19
  • AJax如何获取后台数据在页面中渲染
    这篇文章给大家分享的是有关AJax如何获取后台数据在页面中渲染的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1.先放一段ajax http://xxxxx/GCMS/dispat...
    99+
    2022-10-19
  • ajax如何获取json数据并显示
    使用Ajax可以通过发送HTTP请求获取JSON数据,然后将数据显示在网页上。以下是一个使用Ajax获取JSON数据并显示的示例:`...
    99+
    2023-09-13
    ajax json
  • ajax接收后台数据在html页面显示的示例分析
    这篇文章主要为大家展示了“ajax接收后台数据在html页面显示的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“ajax接收后台数据在html页面显示的...
    99+
    2022-10-19
  • Ajax如何读取数据并分页显示
    这篇文章将为大家详细讲解有关Ajax如何读取数据并分页显示,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 我觉得还是有必要把我的ajax分页...
    99+
    2022-10-19
  • ajax如何实现从后台拿数据显示在HTML前端
    小编给大家分享一下ajax如何实现从后台拿数据显示在HTML前端,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!HTML页面,ajax是基于id的,所有用id表示。...
    99+
    2023-06-08
  • Select2如何使用ajax获取远程数据时显示默认数据
    这篇文章给大家分享的是有关Select2如何使用ajax获取远程数据时显示默认数据的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。假设我需要在我的select2中默认添加一个之前从服务器上获取过的数据,通过以下方法...
    99+
    2023-06-08
  • html网页如何获取后台数据库的数据(html + ajax + php + mysql)
    博主联系方式: QQ:1540984562 QQ交流群:892023501 群里会有往届的smarters和电赛选手,群里也会不时分享一些有用的资料,有问题可以在群里多问问。 目录 ht...
    99+
    2023-09-03
    ajax php 数据库 html 前端
  • 如何实现ajax获取跨域数据
    这篇文章给大家分享的是有关如何实现ajax获取跨域数据的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。效果图源码<html><head>  <script ...
    99+
    2023-06-08
  • 如何编写AJAX验证数据库内容并将值显示在页面
    本篇内容介绍了“如何编写AJAX验证数据库内容并将值显示在页面”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成...
    99+
    2022-10-19
  • 如何在php页面显示数据库内容
    要在PHP页面上显示数据库内容,您需要使用数据库连接,执行查询并将结果显示在页面上。以下是一个基本的示例,显示数据库中的内容:```...
    99+
    2023-09-04
    php 数据库
  • Qt如何实现边加载数据边显示页面
    这篇“Qt如何实现边加载数据边显示页面”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Qt如何实现边加载数据边显示页面”文章吧...
    99+
    2023-06-28
  • 基于iframe如何实现ajax跨域请求以及获取网页中ajax数据
    这篇文章给大家分享的是有关基于iframe如何实现ajax跨域请求以及获取网页中ajax数据的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。大家都知道,在不同域的情况下是不能发送a...
    99+
    2022-10-19
  • Ajax如何实现下拉框联动显示数据
    小编给大家分享一下Ajax如何实现下拉框联动显示数据,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!页面中的两个下拉列表框:<...
    99+
    2022-10-19
  • SQL Server在分页如何实现获取数据的同时获取到总记录数
    这篇文章将为大家详细讲解有关SQL Server在分页如何实现获取数据的同时获取到总记录数,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。SQL Server 获取数据的总...
    99+
    2022-10-18
  • 如何使用ajax实现数据库中随机读取5条数据动态在页面中刷新
    这篇文章主要介绍了如何使用ajax实现数据库中随机读取5条数据动态在页面中刷新,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。前台代码:&nb...
    99+
    2022-10-19
  • 发送ajax请求如何实现上传图片显示在网页上
    这篇“发送ajax请求如何实现上传图片显示在网页上”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看...
    99+
    2022-10-19
  • Visual C++中如何实现对图像数据的读取显示
    本篇文章为大家展示了Visual C++中如何实现对图像数据的读取显示,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。在利用VC进行数据库编程时,经常需要处理数据库中的图像数据,将该图像从数据库中读取...
    99+
    2023-06-17
  • vue中如何使用echarts实现动态数据绑定及获取后端接口数据
    本篇内容主要讲解“vue中如何使用echarts实现动态数据绑定及获取后端接口数据”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue中如何使用echarts实现动态数据绑定及获取后端接口数据”...
    99+
    2023-07-02
  • 如何使用纯CSS和jQuery实现在页面顶部显示的进度条效果
    小编给大家分享一下如何使用纯CSS和jQuery实现在页面顶部显示的进度条效果,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!一、纯CSS实现代码如下:<style type...
    99+
    2022-10-19
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作