设计响应信息为HTML字符串,然后使用innerHTML把获取的字符串插入到网页中。
【示例】在服务器端设计响应信息为HTML结构代码。
<table border="1" width="100%"> <tr><td>RegExp.exec()</td><td>通用的匹配模式</td></tr> <tr><td>RegExp.test()</td><td>检测一个字符串是否匹配某个模式</td></tr> </table>
然后在客户端可以这样来接收响应信息。
<input name="submit" type="button" id="submit" value="向服务器发出请求" />
<div id="grid"></div>
<script>
window.onload = function(){ //页面初始化
var b = document.getElementsByTagName("input")[0];
b.onclick = function(){
var xhr = createXHR(); //实例化XMLHttpRequest对象
xhr.open("GET","server.html", true); //建立连接,要求异步响应
xhr.onreadystatechange = function(){ //绑定响应状态事件监听函数
if(xhr.readyState == 4){ //监听readyState状态
if (xhr.status == 200 || xhr.status == 0){ //监听HTTP状态码
var o = document.getElementById("grid");
o.innerHTML = xhr.responseText; //直接插入到页面中
}
}
}
xhr.send(); //发送请求
}
}
</script>
【注意】
在某些情况下, HTML字符串可能为客户端解析响应信息节省了一些JavaScript脚本,但是也带来了一些问题。
- 响应信息中包含大量无用的字符,响应数据会变得很臃肿。因为HTML标记不含有信息,完全可以把它们放置在客户端由JavaScript脚本负责生成。
- 响应信息中包含的HTML结构无法有效利用,对于JavaScript脚本来说,它们仅仅是一堆字符串。同时结构和信息混合在一起,也不符合标准化设计原则。