我如何通过一个变量从客户端NodeJS到服务器端?



我已经在客户端构造了一个包含SQL语句的变量

var sql = "SELECT * FROM restaurant WHERE (areaCategory" + " " + area + ")" + "AND (cuisineCategory" + " " + cuisine + ") AND (priceCategory" + " " + price +")"

如何将此SQL语句从客户端导出到服务器端以发送此语句?SQL语句因情况而异,因此我必须创建一个变量。

好吧,正如@Aley提到的,你真的不希望客户端对你的数据库有完全的访问权!

相反,我会使用AJAX调用或表单将参数发送到服务器,然后在服务器端使用准备好的语句 AJAX

您可能希望使用像axios这样的库并使用post方法进行Ajax调用:

//client side
axios.post('/restaurant', {
area: areaCategory,
cuisine: cuisineCategory
})
.then(function (response) {
console.log(response);
})
.catch(function (error) {
console.log(error);
});

形式表单应该是自解释的

<!--client side-->
<form method="post" action=/restaurant">
<input type="text" name="area" placeholde="Area…">
<input type="text" name="cuisine" placeholde="Cuisine……">
<input type="submit">
</form>
预备语句

由于有许多不同的数据库具有不同的接口,这里有一些链接:

SQLite3在Node.js中有准备好的语句吗?

防止在Node.js中注入SQL

我如何在Node.JS中为MSSQL创建一个准备好的语句?

最新更新