在JavaScript中使用XMLHttpRequest进行网络请求需要创建XMLHttpRequest对象,并调用其open()和send()方法。其中,open()方法用于指定请求的方法、URL和是否异步处理,send()方法用于发送请求并接收响应。
以下是使用XMLHttpRequest进行GET请求的示例代码:
const xhr = new XMLHttpRequest();
xhr.open('GET', 'https://example.com/api/data', true);
xhr.onload = function() {
if (this.status === 200) {
const data = JSON.parse(this.responseText);
console.log(data);
}
};
xhr.send();
其中,第一个参数指定请求的方法和URL,第二个参数表示请求是否异步处理。onload事件处理函数用于处理请求成功后的响应,可以通过this.status获取响应的状态码,通过this.responseText获取响应的文本内容。
如果需要发送POST请求,则需要在调用send()方法之前使用setRequestHeader()方法设置请求头,以及将请求数据作为send()方法的参数传入。以下是使用XMLHttpRequest进行POST请求的示例代码:
const xhr = new XMLHttpRequest();
xhr.open('POST', 'https://example.com/api/data', true);
xhr.setRequestHeader('Content-Type', 'application/json;charset=UTF-8');
xhr.onload = function() {
if (this.status === 200) {
const data = JSON.parse(this.responseText);
console.log(data);
}
};
const requestData = { name: '张三', age: 18 };
xhr.send(JSON.stringify(requestData));
其中,第一个参数和第二个参数与GET请求相同,第三个参数指定请求头的Content-Type和字符集。send()方法的参数为请求数据,需要将其转换为JSON字符串并作为参数传入。在服务器端可以使用req.body来获取POST请求的请求体。