我是 node.js 的新手。我正在处理的一个项目需要将一个大数组(625 个项目)作为字符串存储在 MySQL 数据库中,我正在使用Node MySQL来完成此操作。
现在我有它,以便在向“/(列名)?(值)”发出请求时更新该行。不幸的是,很快就知道将 625 个项目作为字符串传递给节点并不是最有效的做事方式。
除了查询字符串之外,您对将大数组作为字符串传递的替代方法有什么建议吗?
var http = require('http'),
mysql = require("mysql"),
url = require("url"),
express = require("express");
var connection = mysql.createConnection({
user: "root",
database: "ballot"
});
var app = express();
app.use(express.bodyParser());
app.options('/', function (request, response)
{
response.header("Access-Control-Allow-Origin", "*");
response.end();
});
app.get('/', function (request, response)
{
connection.query("SELECT * FROM pathfind;", function (error, rows, fields) {
for(i=0;i<rows.length;i++)
{
response.send('<div id="layers">'+rows[i].layers+'</div> \
<div id="speed">'+rows[i].speed+'</div> \
<div id="direction">'+rows[i].direction+'</div>');
}
response.end();
});
});
app.post('/', function (request, response)
{
console.log(request.param('data', null));
var urlData = url.parse(request.url, true);
if(urlData.pathname = '/layers')
{
col = "layers";
}
else if(urlData.pathname = '/speed')
{
col = "speed";
}
else if(urlData.pathname = '/direction')
{
col = "direction";
}
req.addListener("data", function(data) {
connection.query("UPDATE pathfind SET "+col+"="+data+" WHERE num=0", function (error, rows, fields) {
if (error)
{
app.close();
}
});
});
});
app.listen(8080);**
编辑:所以现在我知道我需要使用帖子。我已经使用 express.js 重写了上面的代码。我在网上看到的大多数示例都使用带有 HTML 表单的帖子,这很好,但我的项目需要通过 AJAX 请求发布数据。有人可以告诉我如何在 node.js 中解析这些数据吗?