Не удается прочитать свойство ‘json’ неопределенного типа

#mysql #node.js

#mysql #node.js

Вопрос:

почему он не получает результат? SQL-запрос прост и корректен и работает в mysql

 const getDateBw = (InvoiceDate1, InvoiceDate2, err, req, res) => {
   let startDate = new Date(InvoiceDate1);
   let endDate = new Date(InvoiceDate2);
   let formattedDate1 = JSON.stringify(dateFormat(startDate, "yyyy-mm-dd"));
   let formattedDate2 = JSON.stringify(dateFormat(endDate, "yyyy-mm-dd"));
   console.log(formattedDate1);
   db.query(
     "SELECT * FROM dashboard WHERE Invoice_Date BETWEEN "  
       formattedDate1  
       " "  
       "AND "  
       formattedDate2
   ).then(function (myTableRows) {
    res.json({
       myTableRows,
     });
   });
 };
 getDateBw("2009-05-21", "2021-01-01");
  
 {"level":50,
"time":1598543997608,
"pid":10772,
"hostname":"Ghadi-Mdallal",
"stack":"TypeError: Cannot read property 'json' of undefinedn    at C:\Users\LENOVO\Desktop\Dashboard-V1\empServer\handlers\user.controllers\user.controllers.js:29:9n    at processTicksAndRejections (internal/process/task_queues.js:97:5)",
"type":"Error",
"msg":"Cannot read property 'json' of undefined"
}
  

Комментарии:

1. ваш вызов функции getDateBw имеет только два параметра, в то время как при определении вы также используете err,res. Вам не кажется, что там чего-то не хватает?

2. пожалуйста, проверьте значение res, утешив его, потому что, как это выглядит, значение res не определено (и ошибки говорят о том, что вы пытаетесь получить доступ к свойству json из неопределенного значения)

3. @VipulPatil тогда что мне передать, если значение res не определено? я зарегистрировал его, и оно было неопределенным

4. @AliAsgherBadshah да, оно не определено, что я должен сделать, чтобы оно было определено?

5. @ghadiMdallal req и res — это параметры, используемые экспресс-маршрутизатором, поэтому сначала посетите эту часть из онлайн-руководства, например, var router = express. Router(); // получить экземпляр экспресс-маршрутизатора router.get(‘/’, function(req, res) { // вызовите свою функцию запроса здесь res.json({ сообщение: ‘ура! добро пожаловать в наш api!’ }); });

Ответ №1:

Вы не передаете «res» в getDateBw («2009-05-21», «2021-01-01»);

Как res.json будет работать внутри? Это выдаст ошибку «Не удается прочитать свойство ‘json’ неопределенного значения».

Комментарии:

1. значение res не определено, если вы его не передаете.

2. Я отправил res как параметр, но все еще не определен

3. Я отправил res как параметр, но все еще не определен

4. Внутри какой функции вы вызываете getDateBw ? Вам нужно передать «res», который выражает или Node.js или любой другой FW дает вам. Это «res» имеет . json в нем. Просто передача любого «res» не сработает.