admin管理员组文章数量:1291743
I am using axios to make an HTTP request and getting an error. This is a snippet from axios docs talking about handling of errors.
axios.get('/user/12345')
.catch(function (error) {
if (error.response) {
// The request was made and the server responded with a status code
// that falls out of the range of 2xx
console.log(error.response.data);
console.log(error.response.status);
console.log(error.response.headers);
} else if (error.request) {
// The request was made but no response was received
// `error.request` is an instance of XMLHttpRequest in the browser and an instance of
// http.ClientRequest in node.js
console.log(error.request);
} else {
// Something happened in setting up the request that triggered an Error
console.log('Error', error.message);
}
console.log(error.config);
});
I am using axios to make an HTTP request and getting an error. This is a snippet from axios docs talking about handling of errors.
axios.get('/user/12345')
.catch(function (error) {
if (error.response) {
// The request was made and the server responded with a status code
// that falls out of the range of 2xx
console.log(error.response.data);
console.log(error.response.status);
console.log(error.response.headers);
} else if (error.request) {
// The request was made but no response was received
// `error.request` is an instance of XMLHttpRequest in the browser and an instance of
// http.ClientRequest in node.js
console.log(error.request);
} else {
// Something happened in setting up the request that triggered an Error
console.log('Error', error.message);
}
console.log(error.config);
});
In my case, error.request
is ing out to be true, which means (according to the docs) a request was made but no response was received. My question is, what could be causing it? what are the cases when a request is made but no response is received?
Thanks
Share Improve this question asked Sep 16, 2018 at 11:26 Muhammad SaqibMuhammad Saqib 1,1173 gold badges13 silver badges18 bronze badges 2- My first instinct would be that the server sent no response. If it's under your control then see if not misconfigured or if it doesn't have a bug in the endpoint logic. – VLAZ Commented Sep 16, 2018 at 11:31
- It is unfortunately not under my control, I am talking with an API provided by another pany. – Muhammad Saqib Commented Sep 16, 2018 at 11:34
2 Answers
Reset to default 3It often happens for two reasons:
1. OPTIONS request is failed
Top reasons in my practice:
server checks authorisation on OPTIONS request
server sends wrong headers
server make some redirect
More about OPTIONS requests
2. Network problems
I saw this a lot in corporate networks with a lot of firewalls. If there is no way to fix network issues then aggressive retries usually helps.
if (err && err.request && !err.response && navigator.onLine !== false) {
// try again ...
}
The only way you get a .catch()
if no response was returned from the API endpoint is if Axios (or the host system that Axios is running on) implemented a timeout and no response was received within that timeout period. So, without seeing more info on the specific request you're making and the specific API, it appears that there are two possibilities here:
- Your API endpoint has a bug and does not send a response in some circumstances.
- Your API endpoint is taking a long time to send the response and the Axios library is timing out before the response arrives.
You could significantly increase the timeout value for your axios call to test if #2 is what is happening.
本文标签: javascriptIn what cases an HTTP request is made but no response is receivedStack Overflow
版权声明:本文标题:javascript - In what cases an HTTP request is made but no response is received? - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1741541811a2384365.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论