为了详细讲解Ajax对象,我们需要明确以下几个概念:
- 异步传输:传输数据时不会阻塞页面,用户可以继续进行其他操作。
- GET方法:通过URL传输参数,以键值对的形式发到服务端。
- POST方法:将参数放在HTTP请求的body中发送到服务端。
Ajax对象是XMLHttpRequest对象的一个实例,可以通过JavaScript代码创建,在实例化完成后使用其open()方法打开与服务端的连接,使用send()方法向服务端发送数据,通过回调函数的方式获取服务端返回的数据。
以下是两个示例:
GET方法示例
使用GET方法向服务端请求数据,在回调函数中将返回的数据输出到控制台。
var xhr = new XMLHttpRequest();
xhr.open('GET', 'http://example.com/data', true);
xhr.onreadystatechange = function() {
if (xhr.readyState === XMLHttpRequest.DONE) {
if (xhr.status === 200) {
console.log(xhr.responseText);
} else {
console.error('Error: ' + xhr.status);
}
}
};
xhr.send();
POST方法示例
使用POST方法向服务端上传表单数据,在回调函数中将返回的数据输出到控制台。
var xhr = new XMLHttpRequest();
var params = 'name=张三&age=20'; // 表单数据
xhr.open('POST', 'http://example.com/submit', true);
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xhr.onreadystatechange = function() {
if (xhr.readyState === XMLHttpRequest.DONE) {
if (xhr.status === 200) {
console.log(xhr.responseText);
} else {
console.error('Error: ' + xhr.status);
}
}
};
xhr.send(params);
在这两个示例中,我们分别使用了GET和POST方法来与服务端进行交互,通过回调函数获取到了服务端返回的数据,并将数据输出到控制台中。注意,在使用POST方法时,需要设置请求头的Content-Type为application/x-www-form-urlencoded,并将表单数据放到send()方法的参数中。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Ajax 对象 包含post和get两种异步传输方式 - Python技术站