一、 后台接口吐出JSON数据

后台php接口中,需要写三个部分:
1.1 开头header规定数据格式;

header("content-type:application/json;charset=utf-8");

1.2 查询完数据后编写键值对数组;

$theData1 = selectblabla;
$theData2 = selectblabla;
$dataArray= Array(
"theData1" => $theData1,
"theData2" => $theData2
);

1.3 结尾输出json_encode。

echo json_encode($dataArray);

2 建立Template循环模板

2.1 在HTML中引入Template插件js;

<script src="../assets/vendors/art-template/template-web.js"></script>

2.2 在页面内嵌或外联js中写入template模板;

<script type="text/html" id="模板id">
//循环开头结尾用each包起来,开头标明引入的JSON数据源
//如:案例中数据源为backData中的theData2
{{each theData2}}
<tr> //从JSON中需取的值,用$value把键点出来
<td>{{$value.keyA}}</td>
<td>{{$value.keyB}}</td>
<td>{{$value.keyC}}</td>
</tr>
{{/each}}
</script>
3 Ajax请求数据,调用template渲染内容

3.1 在AJex请求中,sucess函数中,调用template()函数

$.get({
url: '../_api/getDate.php',
success: function(backData){
//直接将tbody中的内容html替换为模板循环渲染的内容
$("tbody").html(template("模板id",backData));
})

注意:注册事件函数

模板渲染出来的页面元素均为动态生成的,如需注册事件函数,不能直接将click等事件注册在元素上。
而是on在页面的静态父级元素,再写注册事件函数。
例如:<tr>及里面的内容是动态生成的,需给<tr>中的<a>注册点击事件

   //on在table上,注册click事件,触发元素为table中的a
$("table").on("click", "a" ,function(){
函数体;
})

二、后台接口吐出JSON格式的字符串

1 后台接口吐出JSON格式字符串
echo '{
"theKeyA" : "blablabla",
"theKeyB" : "okeyokey"
//… …
}';
2 建立Template循环模板
<script type="text/html" id="模板id">
//循环开头结尾用each包起来,开头标明引入的JSON数据源
//如:案例中数据源为theData1
{{each theData1}}
<tr> //从JSON中需取的值,用$value把键点出来
<td>{{$value.theKeyA}}</td>
<td>{{$value.theKeyB}}</td>
</tr>
{{/each}}
</script>
3 Ajax请求数据,规定JSON格式,调用template渲染内容

3.1 在AJex请求中,定义sucess函数中,调用template()函数

$.get({
url: '../_api/getDate.php',
dataType:'json',
success: function(backData){
//直接将tbody中的内容html替换为模板循环渲染的内容
$("tbody").html(template("模板id",backData));
})

Ajax接收Json数据,调用template模板循环渲染页面的方法的更多相关文章

  1. ThinkPHP中使用ajax接收json数据的方法

    本文实例讲述了ThinkPHP中使用ajax接收json数据的方法.分享给大家供大家参考.具体分析如下: 这里通过ThinkPHP+jquery实现ajax,扩展了下,写了个查询,前台代码如下: 首先 ...

  2. ajax接收json数据到js解析

    今天又学到了一点新知识,脑子记不住东西特把它记录下来! 页面ajax请求后台时一般都是返回字符串进行判断,要是返回list或者对象时该怎么办? 第一种:ajax接收到list并返回给前台 js代码: ...

  3. ajax 接收json数据的进一步了解

    var url = "../searchclasses"; $.ajax({ url: url, type: "post", dataType: "j ...

  4. 微信小程序 带参调用后台接口 循环渲染页面 wx.request wx:for

    test.js 文件里的onLoad function getarticles(p,order,mythis) { wx.request({ url: 'https://ganggouo.cn/ind ...

  5. Jquery 模板插件 jquery.tmpl.js 的使用方法(1):基本语法,绑定,each循环,ajax获取json数据

    jquery.tmpl.js 是一个模板js  ,主要有2个方法 (1):$.template()方法,将一段script或者是Html编译为模板,例如 $.template('myTemplate' ...

  6. Jquery的$.ajax、$.get、$.post发送、接收JSON数据及回调函数用法

    平时研究代码时,经常会遇到AJAX的相关用法,做项目时才真正体会到Ajax的强大之处(与服务器数据交互如此之便捷,更新DOM节点而不用刷新整个页面),以及运用的频繁程度.今天整理了一下自己之前没搞清楚 ...

  7. AJAX如何接收JSON数据

    简介 在我们了解如何使用AJAX返回JSON数据的时候要先明白下列几点 1. JSON如何来表示对象的 2. JSON如何来表示数组的 var object = { "labId" ...

  8. ajax接收json

    l 什么是json? l Json和xml比较 l Ajax如何使用JSON l Ajax接收json响应案例 什么是json? JSON (JavaScript Object Notation) 是 ...

  9. Ajax接收json响应

    json?  Json和xml比较  Ajax如何使用JSON  Ajax接收json响应案例 什么是json?JSON (JavaScript Object Notation) 是一种轻量级的 ...

随机推荐

  1. Python - 查看类的方法和属性,dir(),help()

    1. dir()查看类的方法和属性 查看slice类的方法和属性 dir(slice) 2.help() 查看某个方法的文档 查看slice类中的indices方法 help(slice.indice ...

  2. .NET Core快速入门教程 4、使用VS Code进行C#代码调试的技巧

    一.前言 什么是代码调试? 通过调试可以让我们了解代码运行过程中的代码执行信息,比如变量的值等等.通常调试代码是为了方便我们发现代码中的bug. 本篇开发环境 1.操作系统: Windows 10 X ...

  3. HYSBZ-2038小Z的袜子

    作为一个生活散漫的人,小Z每天早上都要耗费很久从一堆五颜六色的袜子中找出一双来穿.终于有一天,小Z再也无法忍受这恼人的找袜子过程,于是他决定听天由命-- 具体来说,小Z把这N只袜子从1到N编号,然后从 ...

  4. 【转】uWSGI+django+nginx的工作原理流程与部署历程

    一.前言献给和我一样懵懂中不断汲取知识,进步的人们. 霓虹闪烁,但人们真正需要的,只是一个可以照亮前路的烛光 二.必要的前提 2.1 准备知识 1.django 一个基于python的开源web框架, ...

  5. text-align:justify 失效问题。

    text-align:justify 失效问题. <div class="fmlist_left"> <p> <span> 品名 <i c ...

  6. 解决 Anaconda 3.7更新出现CondaHTTPError与SSLError

    1.问题描述: An HTTP error occurred when trying to retrieve this URL. HTTP errors are often intermittent, ...

  7. 浅谈CVE-2018-12613文件包含/buuojHCTF2018签到题Writeup

    文件包含 蒻姬我最开始接触这个 是一道buuoj的web签到题 进入靶机,查看源代码 <!DOCTYPE html> <html lang="en"> &l ...

  8. 计算机基础 - 时间戳(timestamp)位数

    分为10位数字(ten digit)和13位(thirteen digit)数字 1. Unix, Python为10 time +%s import time time.time() 2. Java ...

  9. iOS之Xcode提交App中断出现:Cannot proceed with delivery: an existing transporter instance is currently uploading this package

    https://www.jianshu.com/p/6d465a0ea58e 这句英文翻译过来就是: 无法继续交付:现有的传输程序实例目前正在上载此包 原因:上传的动作被记录在UploadToken中 ...

  10. 七 Spring的分模块开发的配置,保存客户案例

    Spring的分模块开发的配置 加载配置文件的时候,加载多个 在一个配置文件中引入多个配置文件(常用) 保存客户案例 applicationContext.xml: <?xml version= ...