最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - TypeError: Cannot read property 'statusCode' of undefined - Stack Overflow

programmeradmin1浏览0评论

I have done

npm install request

and my code is

const request = require('request');
request('', function (error, response, body) {
    console.log(response.statusCode);
});

but every time it is throwing a run time error

I have done

npm install request

and my code is

const request = require('request');
request('http://www.google.', function (error, response, body) {
    console.log(response.statusCode);
});

but every time it is throwing a run time error

Share asked Jan 23, 2020 at 10:14 richard937richard937 1992 gold badges3 silver badges11 bronze badges 3
  • your code looks ok no issue with the code, I have tried and it's printing the correct statusCode – Sohail Ashraf Commented Jan 23, 2020 at 10:21
  • Ok, are you using a mobile network ?? – richard937 Commented Jan 24, 2020 at 11:29
  • In my case this happened due to a very dumb mistake on my part - I copied my Postman tests from another request and pasted it in Pre-req. tab instead of under the Tests tab! – Mirza Sisic Commented Jul 6, 2021 at 10:00
Add a ment  | 

2 Answers 2

Reset to default 4

The response object might be undefined if no response was received so you have to check that it exists before accessing statusCode.

See the example here:

var request = require('request');
request('http://www.google.', function (error, response, body) {
  console.log('error:', error); // Print the error if one occurred
  console.log('statusCode:', response && response.statusCode); // Print the response status code if a response was received
  console.log('body:', body); // Print the HTML for the Google homepage.
});

You might not have a response in case there is an error, so make sure to handle the error before trying to handle the response.

it looks like that there is no response. I suggest you to log the error object as well and analyse the error message. Adjust also your code by checking if the response object is defined. Because the undefined means there is no response object:

const request = require('request');
request('http://www.google.', function (error, response, body) {
  console.log('error:', error); // Print the error if one occurred
  console.log('statusCode:', response && response.statusCode);  
  console.log('body:', body); 
});
发布评论

评论列表(0)

  1. 暂无评论