模块化 JS Ajax 请求

为什么80%的码农都做不了架构师?>>>   hot3.png

现在有一个需求,点击 Button需要调用一个函数获取 JSON 数据传给 artTemplate 模板渲染生成页面,所以需要在这个函数中封装原生的 JS Ajax,同时重新渲染页面。

Arttemplate 模板

        <div id="topic_content" class="topic"></div><script id="topic_template" type="text/html">{{if isAdmin}}<ul>{{each list as value}}<li> <a href= {{value.url}}> {{  value.title }} </a> <span style="font-size:20px;">&nbsp;</span> {{ value.followers }}</li>{{/each}}</ul>{{/if}}</script>

封装原生 Ajax

<script>function getTopTopicsByDay(day){function success(text) {var js_obj_of_list_in_json = JSON.parse(text);var data = {title: 'topic',isAdmin: true,list: js_obj_of_list_in_json.topics };// list 应该是一个数组给 template 渲染,不是一个字符串。var html = template('topic_template', data);document.getElementById('topic_content').innerHTML = html;}function fail(code) {return;}var request = new XMLHttpRequest();request.onreadystatechange = function () {if (request.readyState === 4) { // 成功完成// 判断响应结果:if (request.status === 200) {// 成功,通过responseText拿到响应的文本:return success(request.responseText);} else {// 失败,根据响应码判断失败原因:return fail(request.status);}} else {// HTTP请求还在继续...}}// 发送请求:request.open('GET', 'http://202.201.13.172:5000/toptopic/api/topics');request.send();}</script>   

返回的 JSON 数据

{"topics": [{"ask_time": "Thu, 10 Dec 2015 07:27:01 GMT", "followers": 1275, "question_id": "38369521", "title": "\u5982\u4f55\u7ed9\u81ea\u5df1\u5404\u79cd\u5e10\u53f7\u7f16\u4e00\u4e2a\u5b89\u5168\u53c8\u4e0d\u4f1a\u5fd8\u8bb0\u7684\u5bc6\u7801\uff1f", "url": "https://www.zhihu.com/question/38369521"}, {"ask_time": "Wed, 09 Dec 2015 15:23:18 GMT", "followers": 1256, "question_id": "38341320", "title": "\u5728\u77e5\u4e4e\u300c\u6587\u5b66\u300d\u9886\u57df\u6709\u54ea\u4e9b\u503c\u5f97\u5173\u6ce8\u7684\u7528\u6237\uff1f", "url": "https://www.zhihu.com/question/38341320"}
]
}

参考

http://www.oschina.net/code/snippet_932545_46223

http://aui.github.io/artTemplate/#%E4%BD%BF%E7%94%A8%E9%A2%84%E7%BC%96%E8%AF%91

转载于:https://my.oschina.net/lvyi/blog/543155

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/295749.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

女孩子胸前的秘密,研究三天后我出不来了……

全世界只有3.14 % 的人关注了爆炸吧知识前两天&#xff0c;知识君写了一篇关于胸大女生烦恼的科普文。忍“乳”负重&#xff0c;身材好的女孩子究竟有多不容易&#xff1f;我从科学的角度算出来了……你们居然觉得我有写广告的嫌疑&#xff1f;那就真的是让知识君觉得太委屈了&…

为什么ps图片打开是色块_PS教程 我的PS我做主之山村调色

执行【文件】|【打开】命令&#xff0c;打开原稿图像打开“图层”面板&#xff0c;按两次键盘上的快捷键“CtrlJ”复制背景层&#xff0c;得到图层1、图层1副本3. 打开“通道”面板&#xff0c;选取蓝通道&#xff0c;如图执行【图像】|【应用图像】命令&#xff0c;打开“应用…

EVGA Precision—— 显卡超频神器 可用于调节风扇转速 降温

EVGA Corporation&#xff0c;总部在美国&#xff0c;美国最大板卡公司之一&#xff0c;是Nvidia的核心合作伙伴。 EVGA Precision X是一个可以满足用户对显卡所有需求的软件。它可以让我们调节显卡的风扇转速、时钟速度以及电压等。 系统要求 微软Windows 8/7/Vista/XPGeForce…

ftp服务器新建虚拟目录,ftp服务器 虚拟目录

ftp服务器 虚拟目录 内容精选换一换下载地址&#xff1a;https://github.com/gmarcais/Jellyfish/releases/download/v2.2.10/jellyfish-2.2.10.tar.gz下载地址&#xff1a;http://ftp.1000genomes.ebi.ac.uk/vol1/ftp/technical/reference/human_g1k_vftp服务器 虚拟目录 相关…

精彩回顾 | Dapr闪电说系列

点击蓝字关注我们微软 Reactor 为帮助广开发者&#xff0c;技术爱好者&#xff0c;更好的学习 .NET Core, C#, Python&#xff0c;数据科学&#xff0c;机器学习&#xff0c;AI&#xff0c;区块链, IoT 等技术&#xff0c;将每周三到周六&#xff0c;组织 3~5 场线上分享活动。…

地球不是圆的,别让教科书限制了孩子的想象力!

全世界只有3.14 % 的人关注了爆炸吧知识我们在科学课上应该学过宇宙很大地球只是宇宙中微不足道的一个小星球虽然诺达的宇宙我们还没怎么探索但你对地球又了解多少呢&#xff1f;我们眼睛所见的我们所知的其实也都只是非常微不足道的一部分今天炸炸就带你来深入了解关于地球鲜为…

三维重建 几何方法 深度学习_基于深度学习的视觉三维重建研究总结

三维重建意义三维重建作为环境感知的关键技术之一&#xff0c;可用于自动驾驶、虚拟现实、运动目标监测、行为分析、安防监控和重点人群监护等。现在每个人都在研究识别&#xff0c;但识别只是计算机视觉的一部分。真正意义上的计算机视觉要超越识别&#xff0c;感知三维环境。…

Codeforces Round #174 (Div. 2) Cows and Primitive Roots(数论)

Cows and Primitive Roots time limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputThe cows have just learned what a primitive root is! Given a prime p, a primitive root is an integer x (1 ≤ x < p) such …

Android之SlidingMenu使用和总结

SlidingMenu使用和总结 我们经常看到手机QQ和酷狗主界面里面都有侧滑菜单的使用,今天我们在这里介绍怎么使用SlidingMenu的使用和总结,SlingMenu是开源的,不说了多了,先爆照 第一步:下源码 // 下载 ZXing 项目源码 https://github.com/jfeinstein10/SlidingMenu …

如何让你的碎片化时间更有价值?

全世界只有3.14 % 的人关注了爆炸吧知识不知道大家有没有发现&#xff0c;我们开始变得浮躁起来了&#xff0c;我们不再愿意花大量时间去做成一件事情&#xff0c;也无法下定决心&#xff0c;改变自己糟糕的现状。却羡慕着手机屏幕里各种各样的成功人士&#xff0c;活出了自己最…

窥探Swift编程之强大的Switch

之前初识Swift中的Switch语句时&#xff0c;真的是让人眼前一亮&#xff0c;Swift中Switch语句有好多特有而且特好用的功能。说到Switch, 只要是写过程序的小伙伴对Switch并不陌生。其在程序中的出镜率还是比较高档。Switch属于程序的分支语句&#xff0c;Switch的功能便于处理…

安富莱v6开发板网口通讯_安富莱嵌入式周报第170期:2020.07.202020.07.26

说明&#xff1a;谢谢大家的关注&#xff0c;继续为大家盘点上周精彩内容。1、沁恒推出带USB3.0&#xff0c;千兆以太网&#xff0c;光纤接口的RISC内核单片机CH569 CH569/565 微控制器使用 RISC-V3A 内核&#xff0c; 支持 RISC-V 指令的 IMAC 子集。片上集成超高速USB3.0主…

连续子数组的最大和

有一个整数数组&#xff0c;求出连续子数组的和的最大值。有一个首尾相连的整数数组&#xff0c;求出连续子数组的和的最大值。在数组中&#xff0c;数字减去它右边的数字得到一个数对之差。求所有数对之差的最大值。1、思路&#xff1a; 动态规划思路&#xff1a;用函数f(i)表…

WPF中设置了WindowStyle=None后,窗口仍然有边框的解决方法

1. 设置了窗体的WindowStyle"None",窗口还是右边框&#xff0c;如下图&#xff1a; 2. 这是因为窗体默认是可以改变大小的&#xff0c;所以需要修改ResizeMode的值 ResizeMode"NoResize", 这样设置后&#xff0c;上图中的边框就没有了

两度破译“白宫密码”,让美国政府部门崩溃,却称自己是抱娃敲代码的普通妈妈

全世界只有3.14 % 的人关注了爆炸吧知识抱娃敲代码称成功是幸运而已今天我们来点正经的&#xff0c;来跟大家分享一位乘风破浪的姐姐--王小云教授。自踏入2020年以来&#xff0c;山东大学网络空间安全学院&#xff08;研究院&#xff09;院长&#xff0c;双聘院士、讲席教授王小…

github java开源项目经验_10月份Github上最热门的Java开源项目

10 月份 GitHub 上最热门的Java开源项目排行已经出炉啦&#xff0c;在本月的名单中&#xff0c;实战项目类居多&#xff0c;当然也有像JavaGuide这样学习指南类项目&#xff0c;下面就是本月上榜的10个开源项目&#xff1a;1、Java&#xff08;Star 18468&#xff09;https://g…

浙江移动无线dns服务器地址,浙江移动4g的dns服务器地址

浙江移动4g的dns服务器地址 内容精选换一换当创建文件系统后&#xff0c;您需要使用云服务器来挂载该文件系统&#xff0c;以实现多个云服务器共享使用文件系统的目的。本章节以Windows 2012版本操作系统为例进行NFS文件系统挂载&#xff0c;其他版本请参考以下主要步骤根据实际…

Android之给gridview的单元格加上分割线

有时候需要给gridview加上分割线&#xff0c;没有现成的解决方案&#xff0c;这里写好一个可以直接用的自定义gridview&#xff0c;就叫做LineGridView吧。先上图&#xff0c;zaker客户端第三方分享的gridview样式&#xff1a; 可以看到靠边的格子都是半封闭的&#xff0c;要实…

Azure Machine Learning - 如何使用 GPT-4 Turbo with Vision

介绍如何在Azure中使用GPT-4 Turbo with Vision 关注TechLead&#xff0c;分享AI全维度知识。作者拥有10年互联网服务架构、AI产品研发经验、团队管理经验&#xff0c;同济本复旦硕&#xff0c;复旦机器人智能实验室成员&#xff0c;阿里云认证的资深架构师&#xff0c;项目管理…

系统命名与 SQL 命名之争 - 第 1 部分

创建数据库对象的命名规范 创建数据库对象时&#xff0c;开发人员可以选择一种命名方法&#xff0c;可以选择遵循传统 IBM i 行为的系统命名模式 (*SYS)&#xff0c;也可以选择遵循SQL 标准规则的 SQL 命名规范 (*SQL)。 DB2 for i 与其他数据库管理系统 (DBMS) 之间的主要差别…