从XMLHttpRequest返回结果的方法有以下几种:
onreadystatechange
属性来监听请求状态的变化,并在请求完成后调用回调函数来处理返回结果。可以通过readyState
属性判断请求状态,当readyState
为4时表示请求已完成,可以通过status
属性判断请求是否成功(200表示成功),然后通过responseText
或responseXML
属性获取返回的数据。示例代码:
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (xhr.readyState === 4) {
if (xhr.status === 200) {
var response = xhr.responseText; // 返回的文本数据
// 处理返回结果
} else {
// 请求失败处理
}
}
};
xhr.open('GET', 'http://example.com/api', true);
xhr.send();
示例代码:
function request(url) {
return new Promise(function(resolve, reject) {
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (xhr.readyState === 4) {
if (xhr.status === 200) {
resolve(xhr.responseText); // 返回的文本数据
} else {
reject(new Error(xhr.statusText)); // 请求失败处理
}
}
};
xhr.open('GET', url, true);
xhr.send();
});
}
request('http://example.com/api')
.then(function(response) {
// 处理返回结果
})
.catch(function(error) {
// 处理请求失败
});
示例代码:
function request(url) {
return new Promise(function(resolve, reject) {
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (xhr.readyState === 4) {
if (xhr.status === 200) {
resolve(xhr.responseText); // 返回的文本数据
} else {
reject(new Error(xhr.statusText)); // 请求失败处理
}
}
};
xhr.open('GET', url, true);
xhr.send();
});
}
async function fetchData() {
try {
var response = await request('http://example.com/api');
// 处理返回结果
} catch (error) {
// 处理请求失败
}
}
fetchData();
以上是从XMLHttpRequest返回结果的几种常用方法,根据具体的需求和开发环境选择适合的方式进行处理。在腾讯云的云计算服务中,可以使用腾讯云提供的云函数(SCF)来处理异步请求的返回结果,详情请参考腾讯云云函数产品介绍:https://cloud.tencent.com/product/scf。
云+社区沙龙online [技术应变力]
腾讯位置服务技术沙龙
云+社区技术沙龙[第10期]
北极星训练营
高校公开课
停课不停学 腾讯教育在行动第二期
《民航智见》线上会议
云+社区技术沙龙[第15期]
Techo Youth
领取专属 10元无门槛券
手把手带您无忧上云