你能让节点js发送一个数组而不是一个字符串吗
Can you get node js to send an array not a string
我想要代码 return 结果的二维数组。
例如。
衣服 = [[1,"name","desc"],[2,"name2","desc2"]]
你可以让 res 发送一个列表,还是你必须在 return 编辑后制作一个列表?
app.get('/post', (req, res) => {
con.connect(function(err) {
if (err) throw err;
var query = "SELECT * FROM products"
con.query(query, function (err, results, fields) {
if (err) throw err;
var clothes = [];
Object.keys(results).forEach(function(key) {
let r = []
var row = results[key];
r.push(row.ID);
r.push(row.name);
r.push(row.link);
r.push(row.imageLink);
r.push(row.type);
r.push(row.colour);
r.push(row.price);
r.push(row.brand);
clothes.push(r);
});
res.send(clothes);
});
});
});
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
clothes = this.response;
document.getElementById("demo").innerHTML = clothes;
};
xhttp.open("GET", "http://localhost:3000/post", true);
xhttp.send();
当然可以。
示例:
app.get('/post', (req, res) => {
con.connect(function(err) {
if (err) throw err;
var query = "SELECT * FROM products"
con.query(query, function (err, results, fields) {
if (err) throw err;
var clothes = [];
...
// Better set the header so the client knows what to expect; safari requires this
res.setHeader('Content-Type', 'application/json');
res.end(JSON.stringify(clothes));
});
});
});
您似乎在使用 expresjs framework
这里有一个方便的方法来完成上述操作:
...
con.query(query, function (err, results, fields) {
if (err) throw err;
var clothes = [];
res.json(clothes);
});
...
读取客户端的响应
This 是关于如何执行此操作的一个很好的答案。
简而言之:建议在客户端使用新的fetch()
方法。
fetch("http://localhost:3000/post")
.then(function(response) {
return response.json();
})
.then(function(clothes) {
document.getElementById("demo").innerHTML = clothes;
});
我想要代码 return 结果的二维数组。 例如。 衣服 = [[1,"name","desc"],[2,"name2","desc2"]] 你可以让 res 发送一个列表,还是你必须在 return 编辑后制作一个列表?
app.get('/post', (req, res) => {
con.connect(function(err) {
if (err) throw err;
var query = "SELECT * FROM products"
con.query(query, function (err, results, fields) {
if (err) throw err;
var clothes = [];
Object.keys(results).forEach(function(key) {
let r = []
var row = results[key];
r.push(row.ID);
r.push(row.name);
r.push(row.link);
r.push(row.imageLink);
r.push(row.type);
r.push(row.colour);
r.push(row.price);
r.push(row.brand);
clothes.push(r);
});
res.send(clothes);
});
});
});
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
clothes = this.response;
document.getElementById("demo").innerHTML = clothes;
};
xhttp.open("GET", "http://localhost:3000/post", true);
xhttp.send();
当然可以。
示例:
app.get('/post', (req, res) => {
con.connect(function(err) {
if (err) throw err;
var query = "SELECT * FROM products"
con.query(query, function (err, results, fields) {
if (err) throw err;
var clothes = [];
...
// Better set the header so the client knows what to expect; safari requires this
res.setHeader('Content-Type', 'application/json');
res.end(JSON.stringify(clothes));
});
});
});
您似乎在使用 expresjs framework
这里有一个方便的方法来完成上述操作:
...
con.query(query, function (err, results, fields) {
if (err) throw err;
var clothes = [];
res.json(clothes);
});
...
读取客户端的响应
This 是关于如何执行此操作的一个很好的答案。
简而言之:建议在客户端使用新的fetch()
方法。
fetch("http://localhost:3000/post")
.then(function(response) {
return response.json();
})
.then(function(clothes) {
document.getElementById("demo").innerHTML = clothes;
});