#javascript #node.js #reactjs #axios
#javascript #node.js #reactjs #axios
Вопрос:
Это мой код, в котором он состоит из файла Js и файла React.
//
// JS File
//
...
app.post('/searchResult',function(req,res)
{
res.send(searchValue);
console.log(`----------------------------`);
console.log(`Search Result :` searchValue);
})
...
//
// React File
//
...
axios.post(BASE_URL '/searchResult')
.then(res =>
{
dataResult = res;
console.log(`The result :` dataResult);
})
...
//
//
//
Результат: [объект Object]
Какие-либо решения?
Комментарии:
1. в вашем api верните json…. как это возвращает res.json(значение поиска)
2. В вашем приложении react попробуйте console.log(res.data)
3. @sathishkumar, я ставлю так, и результат по-прежнему остается [object Object] app.post(‘/ SearchResult’,function(req,res) { res.send(searchValue); console.log(
----------------------------
); console.log(Search Result :
searchValue); res.json(searchValue) })4. @Israelkusaev Я пытаюсь console.log (res.data), и он ничего не показывает. означает ли это, что ему не удается передать значение?
Ответ №1:
Когда вы смотрите на response, он содержит много информации вместе с данными, которые вы отправили с конечной точки вашего api в качестве ответа, который приходит к вам в формате вложенного объекта. Итак, вам нужно указать, к какой части ответа вы хотите получить доступ. Попробуйте использовать следующее:
dataResult = res.data;
OR
dataResult = res.body;
Надеюсь, это поможет!
Комментарии:
1. Я пробую как res.data, так и res.body. Результат для обоих остается тем же, что и [object Object]
2. оберните это в JSON.stringify. Как этот JSON.stringify(res.data)
Ответ №2:
Если вы хотите получить только ответ, это должно сработать:
axios.post(BASE_URL '/searchResult').then(({data}) => {
console.log(data);
})
и если вы возвращаете данные в виде строки, попробуйте:
const result = JSON.parse(data);