我想在文档$api->getFromResponse('resData')['nameserver1']
事件发生时使用axios发送一个http请求,我想知道是否可以知道axios是否已成功发送,因为该请求是异步的?还是有什么办法可以使请求同步?我在下面写示例代码。
pagehide
答案 0 :(得分:0)
我在某种程度上解决了该问题...如果可能,我使用sendBeacon
,对于某些不支持信标API的浏览器,我使用同步请求。
答案 1 :(得分:0)
您可以仅返回“确定”响应(状态码200),表明您已成功发送请求。
我不确定同步请求,但是您可以使用:
axios.get('/targetUrl', params);
这将发送您想要的信号。如果您想等待响应,则可以使用promises。如果服务器返回4xx代码响应,则axios将抛出错误,如果有错误,您可以在try-catch块中使用axios进行处理。
async function sendRequest() {
try {
await axios.get('/targetUrl', params);
}
catch (Error)
{
if(Error.IsAxios) // This will return true if error is due to axios
{
alert('Request was not successful');
}
else
{
console.error(Error.toString());
}
}
}