如何通过NodeJS将对象传递到Front

时间:2019-02-21 12:36:06

标签: javascript sql arrays node.js frontend

我确实尝试了其他在线解决方案,但是我很糟糕,想要更好的理解,但我也无法使它起作用:

我正在设置一个Web应用程序,并使用NODe js作为后端,当有人向“ /”发出get请求时,我希望它从SQL中获取所有值,如下所示:

con.query('SELECT * FROM customers', function(err, result) {
res.json(result);

}); 代码当有人向“ /”发出获取请求时:

//Home route
app.get('/', function(req, res){
    (sql funciton here)
   });
});

如何将“结果”变量传递给前端。

<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <title></title>
  </head>
  <body>

  </body>
</html>

<script type="text/javascript">

  console.log(result);

</script>

我只想要它打印出数组,但它表示未定义。

2 个答案:

答案 0 :(得分:0)

您必须向服务器发出请求。为此,您可以使用axios或浏览器fetch api。

axios.get("serverip/").then(res => {
   console.log(res)
}

答案 1 :(得分:0)

要从服务器获取数据,您需要进行API调用。 XHR或XMLHttpRequest也允许与服务器交互。

var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
    console.log("API response  : ",xhttp.response);
};
var url = <API url>;    /*  http://localhost:3000 in your case  */
xhttp.open("GET", url, true);
xhttp.send();

请注意,如果API调用是通过处理API的服务器(在您的情况下,服务器在localhost:3000上运行)未呈现的html进行的,则会出现CORS(跨源资源共享)问题,浏览器将阻止请求。