[Vuejs]-Can not do get request method because data says [object object]

0👍

In your getResult() let’s to change method to post and + to , for passing your data in body. You can look at this code below:

getResult() {
  axios
    .post( // <= change method to post
      `${process.env.VUE_APP_API}/hospita/result/`, // change `+` with `,`
        {
          hosp_name: "SAMPLE"
        }
    )
    .then(res => console.log(res.data))
    .catch(err => console.log(err));
}

After that, don’t forget to change your router method from get to post. You can look at this code below:

// change method `get` to `post`
router.post('/result/', (req, res) => {
  const sql = "SELECT *  FROM \
  ND_HOSP WHERE hosp_ptype = 'h' AND hosp_name LIKE ?";
  console.log(req.body)
  myDB.query(sql, ['%' + req.body.hosp_name + '%'], (err, result) => {
      if (err) {
          res.send(err)
      } else {
        res.send(result);
      }
  })
})

Make sure, because we’re use the req.body, so, don’t forget to add body parser in your server.js or app.js. It’s will looks like this code below:

app.use(express.json());
app.use(express.urlencoded({ extended: true }));

I hope it can help you.

0👍

problem is here: res.send(result);

result is not containing json data, it is containing any other object or blank object like {}.

so first of all try to see what is inside the result using console.log().

most of the time for the such cases two functions are very useful.

JSON.stringify(object);
JSON.parse(strobj);

Leave a comment