模块化 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;打开“应用…

Android之Color颜色值和RGB颜色对照表

RGB颜色对照表 #FFFFFF #FFFFF0 #FFFFE0 #FFFF00 #FFFAFA #FFFAF0 #FFFACD #FFF8DC #FFF68F #FFF5EE #FFF0F5 #FFEFDB #FFEFD5 #FFEC8B #FFEBCD #FFE7BA #FFE4E1 #FFE4C4 #FFE4B5 #FFE1FF #FFDEAD #FFDAB9 #FFD700 #FFD39B #FFC1C1 #FFC125 #FFC0CB #FFBBFF #FFB90F #FFB6C1 #…

C++中char*与wchar_t*之间的转换

把char*转换为wchar_t* 用stdlib.h中的mbstowcs_s函数&#xff0c;可以通过下面的例子了解其用法&#xff1a; char *CStr "string to convert"; size_t len strlen(CStr) 1; size_t converted 0; wchar_t *WStr; WStr(wchar_t*)malloc(len*sizeof(wchar_t)); mb…

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 …

oracle10g异常日志查看

oracle10g异常日志查看 警告日志&#xff1a;\oracle\product\10.2.0\db_1\admin\orcl\bdump\alert_orcl.log 监听日志&#xff1a;\oracle\product\10.2.0\db_1\NETWORK\log\listener.log转载于:https://www.cnblogs.com/wanghonghu/archive/2012/04/18/2455651.html

jquery如何实现ajax技术,使用JavaScript和jQuery简单实现Ajax技术(示例代码)

Ajax的定义Ajax被认为是(Asynchronous JavaScript and XML的缩写)。 允许浏览器与服务器通信而无须刷新当前页面的技术都被叫做Ajax。Ajax的工作原理Ajax的核心是JavaScript对象XmlHttpRequest。XmlHttpRequest使您可以使用JavaScript向服务器提出请求并处理响应&#xff0c;而…

值得永久收藏的 C# 设计模式套路(一)

设计模式知道&#xff0c;套路是个啥&#xff1f;关于设计模式的说法&#xff0c;网上一搜一大堆&#xff0c;咱就不再去说了。我的理解&#xff0c;设计模式就是很多NB的大佬们总结出来的&#xff0c;用来处理特定情况的标准解决方案。那既然是标准方案&#xff0c;就一定会有…

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

全世界只有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主…

postfix搭建及配置

一&#xff0e; 电子邮件系统概述1. 邮件系统角色MUA&#xff08;邮件用户代理&#xff09;、MTA&#xff08;邮件传输代理&#xff09;、MDA&#xff08;邮件分发代理&#xff09;2. 邮件应用协议SMTP&#xff0c;简单邮件传输协议&#xff0c;TCP 25端口POP3&…

连续子数组的最大和

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

Android之常用开发框架

Android之常用开发框架 1、Rajawali 介绍: 安卓的OpenGL ES 2.0/3.0 引擎。可以用于制作普通应用或者动态壁纸,当然也可以用于制作游戏。 项目地址: https://github.com/Rajawali/Rajawali 2、RxAndroid 介绍: RxAndroid是RxJava的一个针对Android平台的扩展。它包含了一些…