理解同步、异步,掌握ajax概念以及如何发起ajax请求,了解模板引擎及其简单实现原理
AJAX定义
- AJAX 不是 JavaScript 的规范,它是”Asynchronous JavaScript and XML”的缩写,意思是用JavaScript执行 异步 网络请求.
- AJAX 不是一门新的语言,而是对现有技术的综合利。
- 简单说, AJAX 就是 浏览器 和 服务器 之间进行 异步交互 无需刷新页面 的技术。
异步和同步
异步 的定义
异步 指的是某段程序执行时不会阻塞其他程序的执行,其表现形式为程序的执行顺序,不依赖程序本身的 书写顺序,相反为同步。
独立是异步的区别 ,省时是异步的理由。
生活中的例子
打电话是同步,发消息是异步。
异步的优势
异步 的优势在于不阻塞程序的执行,从而提升整体执行效率。
那么如何在 浏览器 上使用 AJAX 呢
首先了解 AJAX 的原理:
在现代浏览器上书写AJAX主要依靠XMLHttpRequest对象。
认识 XMLHttpRequest 对象
|
|
让我们通过一个具体案例更清晰的了解它
点击按钮,获取后台数据,显示到浏览器上。(不刷新页面)
HTML代码
|
|
后台 php 代码
|
|
JSON 数据
|
|
创建XMLHttpRequest对象
通过一行简单的JavaScript代码,我们就可以创建XMLHttpRequest对象。
在所有的现在浏览器(包括IE7):
在IE5和IE6中:
1234567//如果你想把标准写法和IE写法兼容在一起,可以这么写:var request;if (window.XMLHttpRequest) { request = new XMLHttpRequest();} else { request = new ActiveXObject('Microsoft.XMLHTTP');}
具体代码实现
|
|
注意事项
发送GET请求时
|
|
发送POST请求
|
|
这一点详情见我以前总结的相关于请求报文和响应报文的文章
如何更简单的发起 ajax 请求:
|
|
上面我们发现,拼接字符串会很繁琐,那么如何让拼接字符串变得更简单
使用模板引擎
1.模板引擎介绍
|
|
2.常见的模板引擎
每个模板都有自己的语法,详情见各自的readme.md,下面只阐述一下art-template的原生语法,方便初学者入门
3.art-template 语法
|
|
4.深入探究模板的原理
|
|
|
|
|
|