Ajax——异步基础知识(二)
2024-08-31 01:21:17
XML数据格式
- 首行必须是版本号和格式等信息
<?xml version="1.0" encoding="utf-8" ?>
- 最外层需要一个根节点进行包裹
- 标签有开头有结尾,效率低下
- php中设置header需要将content-type设置成text/xml
header("content-type:text/xml;charset=utf-8");
- 浏览器读取XML文件是用ajax.responseXML
- 浏览器接收到的是文档树,可以用访问节点的方式获取值
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
body{
text-align: center;
}
div{
width: 500px;
height: 100px;
margin: 0 auto;
text-align: center;
}
td{
border: 1px solid #000;
}
table{
text-align: center;
width: 500px;
border-collapse: collapse;
}
</style>
</head>
<body>
<div></div>
<button>获取xml文件数据</button>
<script>
var btn = document.getElementsByTagName("button")[0];
btn.onclick = function () {
var ajax = new XMLHttpRequest();
ajax.open('get', '03.php');
ajax.send();
ajax.onreadystatechange = function (ev) {
if (ajax.readyState=4&&ajax.status==200) {
var msg=ajax.responseXML;
console.log(msg);
var str="";
str+="<table>";
var persons=msg.querySelectorAll('person');
for (var i = 0; i < persons.length; i++) {
str+="<tr>";
str+="<td>"+persons[i].children[0].innerHTML+"</td>";
str+="<td>"+persons[i].children[1].innerHTML+"</td>";
str+="<td>"+persons[i].children[2].innerHTML+"</td>";
str+="</tr>";
}
str+="</table>"
var div=document.getElementsByTagName("div")[0];
div.innerHTML=str;
}
}
}
</script>
</body>
</html>
<?php
header("content-type:text/xml;charset=utf-8");
echo file_get_contents('files/01.xml');
?>
<?xml version="1.0" encoding="utf-8" ?>
<personXML>
<person>
<name>zs1</name>
<age>17</age>
<sex>nan</sex>
</person>
<person>
<name>zs2</name>
<age>18</age>
<sex>nan</sex>
</person>
<person>
<name>zs3</name>
<age>19</age>
<sex>nan</sex>
</person>
</personXML>
JSON数据格式
- 格式上可以是标准的json字符串,也可以组成数组
[
{"name":"zs1","age":,"sex":"nan"},
{"name":"zs2","age":,"sex":"nan"},
{"name":"zs3","age":,"sex":"nan"}
]
- 基本上所有语言都可以将JSON字符串转化为该语言的对象进行访问
var msg = JSON.parse(ajax.responseText);//将json字符串转化为js对象
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
body {
text-align: center;
} div {
width: 500px;
height: 100px;
margin: 0 auto;
text-align: center;
} td {
border: 1px solid #000;
} table {
text-align: center;
width: 500px;
border-collapse: collapse;
}
</style>
</head>
<body>
<div></div>
<button>点击获取json数据</button>
<script>
var btn = document.getElementsByTagName("button")[0];
btn.onclick = function () {
var ajax = new XMLHttpRequest();
ajax.open('post', '04.php');
ajax.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
ajax.send();
ajax.onreadystatechange = function (ev) {
if (ajax.readyState == 4 && ajax.status == 200) {
console.log(ajax.responseText);
var msg = JSON.parse(ajax.responseText);
var str = "";
str += "<table>";
for (var i = 0; i < msg.length; i++) {
str += "<tr>";
str += "<td>" + msg[i]["name"] + "</td>";
str += "<td>" + msg[i]["age"] + "</td>";
str += "<td>" + msg[i]["sex"] + "</td>";
str + "</tr>";
}
str += "</table>";
var div = document.getElementsByTagName("div")[0];
div.innerHTML = str;
}
}
}
</script>
</body>
</html>
<?php
header("content-type:text/html;charset=utf-8");
echo file_get_contents('files/02.json');
?>
[
{"name":"zs1","age":,"sex":"nan"},
{"name":"zs2","age":,"sex":"nan"},
{"name":"zs3","age":,"sex":"nan"}
]
最新文章
- WAP端 touch事件触发顺序记录
- 字符串-Alphabet
- test python
- MySQL初夜(乱码问题,命令行客户端使用)
- 200. Number of Islands
- 无法使用以下搜索标准找到 X.509 证书: StoreName“My”、StoreLocation“LocalMachine”、FindType“FindBySubjectName”、FindValue“MyWebSite”。
- drupal 7.23 上传中文命名文件bug
- 自写Date工具类
- 重载 vs 重写
- LeetCode OJ 154. Find Minimum in Rotated Sorted Array II
- 锋利的jQuery(1)——DOM对象与jQuery对象的转换
- 【CSS】整屏大背景
- 【BZOJ3680】吊打XXX(模拟退火)
- django 开发忘记密码通过邮箱找回功能
- Groovy学习笔记-陷阱
- jTimer
- 『TensorFlow』网络操作API_中_损失函数及分类器
- 记CTC原理
- 解决Access查询不区分大小写问题
- Spirng MVC 重定向传递对象