Javascript 无法执行get请求方法,因为数据显示[object]

Javascript 无法执行get请求方法,因为数据显示[object],javascript,express,vue.js,vuejs2,Javascript,Express,Vue.js,Vuejs2,我正在尝试在Vue和Express中使用get-request方法来获取基于我的v-model的数据 下面是我尝试向express发送数据的代码 getResult() { axios .get( `${process.env.VUE_APP_API}/hospita/result/` + { hosp_name: "SAMPLE" } ) .then(res => console.log(res.

我正在尝试在Vue和Express中使用get-request方法来获取基于我的v-model的数据

下面是我尝试向express发送数据的代码

getResult() {
  axios
    .get(
      `${process.env.VUE_APP_API}/hospita/result/` +
        {
          hosp_name: "SAMPLE"
        }
    )
    .then(res => console.log(res.data))
    .catch(err => console.log(err));
}
下面是我的get请求方法,它接收来自vuejs的数据

router.get('/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) {
            console.log(err)
        } else {
            try {
                res.send(result);
                /*  console.log(result) */
            } catch (err) {
                res.send(err)
            }
        }
    })
})
但它给了我错误,并说 问题在这里:res.send(result

结果不包含json数据,它包含任何其他对象或类似{}的空白对象

因此,首先尝试使用console.log()查看结果中的内容

大多数情况下,这两个函数对于此类情况非常有用

JSON.stringify(object);
JSON.parse(strobj);
getResult()
中,让我们将方法更改为
post
,将
+
更改为
以在
正文中传递数据。您可以在下面查看此代码:

getResult(){
axios
.post(//console.log(res.data))
.catch(err=>console.log(err));
}
之后,不要忘记将路由器的
方法
get
更改为
post
。您可以在下面查看此代码:

app.use(express.json());
app.use(express.urlencoded({ extended: true }));
//将“get”方法更改为“post”`
router.post(“/result/”,(req,res)=>{
const sql=“从中选择*\
ND_HOSP,其中HOSP_ptype='h'和HOSP_name LIKE?”;
控制台日志(请求正文)
myDB.query(sql,['%'+req.body.hosp_name+'%'],(错误,结果)=>{
如果(错误){
res.send(err)
}否则{
res.send(结果);
}
})
})
确保,因为我们使用的是
req.body
,所以不要忘记在
server.js
app.js
中添加body解析器。下面的代码如下所示:

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

我希望它能帮助您。

您不能将对象连接到字符串。您需要在请求正文中发送对象,而不是URL。