处理文本响应:
var xhr = new XMLHttpRequest();
xhr.open('GET', 'https://example.com/data', true);
xhr.onreadystatechange = function() {
if (xhr.readyState === 4) {
if (xhr.status === 200) {
// 处理文本响应
console.log(xhr.responseText);
} else {
// 处理错误
console.error('Request failed with status:', xhr.status);
}
}
};
xhr.send();
在这个例子中,xhr.responseText 包含了从服务器返回的文本响应。
处理 JSON 响应:
var xhr = new XMLHttpRequest();
xhr.open('GET', 'https://example.com/data', true);
xhr.onreadystatechange = function() {
if (xhr.readyState === 4) {
if (xhr.status === 200) {
// 解析 JSON 响应
var jsonResponse = JSON.parse(xhr.responseText);
console.log(jsonResponse);
} else {
// 处理错误
console.error('Request failed with status:', xhr.status);
}
}
};
xhr.send();
在这个例子中,xhr.responseText 包含了从服务器返回的 JSON 格式的响应。我们使用 JSON.parse 将其解析为 JavaScript 对象。
处理二进制响应:
var xhr = new XMLHttpRequest();
xhr.open('GET', 'https://example.com/image', true);
xhr.responseType = 'arraybuffer';
xhr.onreadystatechange = function() {
if (xhr.readyState === 4) {
if (xhr.status === 200) {
// 处理二进制响应
var byteArray = new Uint8Array(xhr.response);
console.log(byteArray);
} else {
// 处理错误
console.error('Request failed with status:', xhr.status);
}
}
};
xhr.send();
在这个例子中,我们通过设置 xhr.responseType 为 'arraybuffer' 来处理二进制响应。xhr.response 包含了从服务器返回的二进制数据,我们将其转换为 Uint8Array。
这些示例展示了不同类型的响应处理方式。在实际应用中,你可能需要根据服务器返回的数据类型选择适当的处理方法。
转载请注明出处:http://www.zyzy.cn/article/detail/4591/Ajax