一、简介
Ajax处理获取XML格式的响应数据之外还可以通过responseText属性来获取字符串格式的服务器响应数据。
二、下面通过一个例子来说明如果获取Json格式的数据,Json格式表示的数据对象实际上就是javascript中的字面量对象,但是只允许包含以下几种类型:字符串、数值、数组和其它字面量对象,并且键和字符串类型的值都必须用双引号括起来。
例子如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="default.aspx.cs" Inherits="UI._default" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>Ajax</title>
<style style="text/css">
body {
font-family:Arial,Helvetica,sans-serif;
}
.book {
border-top:1px solid #ccc;
padding:10px 5px;
}
.book h2 {
margin:0;
font-size:2em;
}
.book .author {
margin:0;
font-weight:bold;
font-size:1em;
}
.book p {
margin:0;
}
</style>
<script>
window.onload = function ()
{
var xmr;
//创建XMLHttprRequest对象
if (window.XMLHttpRequest) {
xmr = new XMLHttpRequest();
}
else {
try{
xmr=new ActiveXObject("MSXML.XMLHTTP6.0")
} catch (e) { }
try {
xmr = new ActiveXObject("MSXML.XMLHTTP");
}catch(e){}
}
//为按钮添加事件处理
var btn = document.getElementById("btn");
btn.onclick = function ()
{
//如果成功创建XMLHttpRequest对象实例,则通过对象向服务器发出请求
if (xmr)
{
xmr.open("GET", "Books.js", true);
xmr.onreadystatechange = function ()
{
//debugger;
if (xmr.readyState == 4)
{
//从json数据解析出books对象
eval(xmr.responseText);
var container = document.getElementById("content");
var book, title, author, description, text;
for (var key in books)
{
//创建Div作为书籍数据的容器
book = document.createElement("div");
book.className = "book";
//创建h2存放书籍标题
title = document.createElement("h2");
text = document.createTextNode(books[key]["title"]);
title.appendChild(text);
book.appendChild(title);
//创建p存放作者
author = document.createElement("p");
author.className = "author";
title = document.createTextNode(books[key]["author"]);
author.appendChild(title);
book.appendChild(author);
//创建p存放内容简介
description = document.createElement("p");
title = document.createTextNode(books[key]["description"]);
description.appendChild(title);
book.appendChild(description);
//将创建的Div节点加入到页面
container.appendChild(book);
}
}
}
xmr.send();
}
}
}
</script>
</head>
<body>
<div id="content"></div>
<input id="btn" type="button" value="Ajax获取数据" />
</body>
</html>
var books = {
"book1": {
"title": "呐喊",
"author": "鲁迅",
"description":"“呐喊”中的小说,以振聋发聩的气势..."
},
"book2": {
"title": "追风筝的人",
"author": "卡勒德.胡赛尼",
"description": "12岁的阿富汗富家少爷阿米尔与仆人哈桑情同手足..."
}
}

浙公网安备 33010602011771号