Ajax的响应数据格式有:
-
XML,一种数据描述的手段,缺点:数据冗余太多。
-
JSON(JavaScript Object Notation,JavaScript)对象表示法,数据描述的手段,类似于JavaScript字面量方式。服务端采用JSON格式返回数据,客户端按照JSON格式解析数据。
这些数据协议都是Ajax在请求过程中会用到的,所以当服务器发出某种格式的数据时,客户端就可以采用JavaScript相应的方法解析这种格式。
JSON Server
- json-server 是一个Node模块,运行Express服务器,可以指定一个json文件作为api的数据源。我们可以用它快速搭建一个web服务器。json-server的学习使用手册https://github.com/typicode/json-server
响应数据的渲染
客户端拿到请求到的数据之后就需要把这些数据渲染到页面上。
简单的数据结构,可以采用字符串拼接的方式处理。
复杂的数据,可以使用模板引擎或ES6提供的模板字符串进行处理。
var Box = document.getElementById("Box");
var xhr = new XMLHttpRequest();
xhr.open("GET","http://localhost:3000/users");
xhr.send(null);
xhr.onreadystatechange = function(){
if(xhr.readyState == 4){
var data = JSON.parse(this.responseText);
var str = "";
console.log(data);
//循环 遍历数组
for(var i = 0;i < data.length;i ++){
//第一种 采用字符串拼接
// str += "<tr><td>" + data[i].id + "</td >" +
// "<td>" + data[i].name + "</td>" +
// "<td>" + data[i].class + "</td></tr>";
//第二种 采用 模板字符串 进行拼接
str += `<tr>
<td>${data[i].id}</td>
<td>${data[i].name}</td>
<td>${data[i].class}</td>
</tr>`
}
Box.innerHTML += str;
}
}
上述的字符串拼接,当数据少时可以使用,但当数据复杂又多时,字符串拼接就显得复杂又易出错了。所以模板引擎的使用就解决了 这一问题。
模板引擎
artTemplate
-
中文使用文档:artTemplate中文使用文档
-
将逻辑表达式语句写在<% 与 %>符号中
将输出表达式写在<%= content%>中
-
使用步骤:
①引入模板文件
②创建模板
③将数据跟模板进行绑定
④在模板里编写代码解析数据
⑤绑定数据和模板之后得到内容
关于模板引擎的使用及优势,可以参考留言板代码这个案例:留言板主要部分代码
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。