Ajax看这一篇就足够了:ajax,XMLHttpRequest,xml,json,FormData,跨域
Ajax(Asynchronous JavaScript and XML)是一种在网页中实现异步数据交换的技术,用于与服务器进行数据交换,不需要重新加载页面。在这里,我将会介绍Ajax的基本使用方法,包括XMLHttpRequest对象、XML数据格式和JSON数据格式、FormData对象以及如何处理跨域问题。
- XMLHttpRequest对象
XMLHttpRequest对象是Ajax的核心部分,它是一个API,允许在JavaScript中发出HTTP请求。
var xhr = new XMLHttpRequest();
xhr.open("GET", "url", true);
xhr.onreadystatechange = function () {
if (xhr.readyState == 4 && xhr.status == 200) {
var data = xhr.responseText;
console.log(data);
}
};
xhr.send();
- XML数据格式
虽然现在JSON更为流行,但是Ajax还是可以处理XML格式的数据。
xhr.open("GET", "url", true);
xhr.onreadystatechange = function () {
if (xhr.readyState == 4 && xhr.status == 200) {
var xmlDoc = xhr.responseXML;
var txt = "";
var x = xmlDoc.getElementsByTagName("name");
for (var i = 0; i < x.length; i++) {
txt += x[i].childNodes[0].nodeValue + "<br>";
}
document.getElementById("demo").innerHTML = txt;
}
};
xhr.send();
- JSON数据格式
JSON是一种轻量级的数据交换格式,易于阅读和编写,同时也易于机器解析和生成。
xhr.open("GET", "url", true);
xhr.onreadystatechange = function () {
if (xhr.readyState == 4 && xhr.status == 200) {
var data = JSON.parse(xhr.responseText);
console.log(data);
}
};
xhr.send();
- FormData对象
当需要通过POST方法发送表单数据时,可以使用FormData对象。
var formData = new FormData();
formData.append("name", "value");
xhr.open("POST", "url", true);
xhr.onreadystatechange = function () {
if (xhr.readyState == 4 && xhr.status == 200) {
console.log(xhr.responseText);
}
};
xhr.send(formData);
- 跨域请求
出于安全考虑,浏览器默认禁止跨域请求。但是,可以通过CORS(Cross-Origin Resource Sharing),在服务器上设置响应头来允许特定的跨域请求。
xhr.open("GET", "url", true);
xhr.withCredentials = true;
xhr.onreadystatechange = function () {
if (xhr.readyState == 4 && xhr.status == 200) {
console.log(xhr.responseText);
}
};
xhr.send();
以上就是Ajax的基本使用方法,包括XMLHttpRequest对象、XML和JSON数据格式、FormData对象以及如何处理跨域问题。
评论已关闭