我可以向节点服务器发送请求,但我无法获得响应。 问题出在哪儿? 请帮帮我!
我在服务器端(节点js)有这个:
const express = require('express')
var myParser = require("body-parser");
const app = express()
app.use(myParser.urlencoded({extended : false}));
app.use(myParser.json());
app.listen(3398, () => console.log('ASK app listening on port 3398!'));
var mysql = require('mysql');
var con = mysql.createConnection({
host: "localhost",
user: "admin2",
password: "password",
database: "ask_test",
port: 3306
});
app.post('/selectall', (req, res) =>
con.query("SELECT * FROM "+req.body.table, function (err, result, fields) {
if (err) throw err;
console.log("sending: ");
console.log(result);
res.send(result);
})
);
这在客户端:
$("#sendticket_button").click(function(){
$.post("http://151.1.140.232:3398/selectall",
{table: "test1"},
function(data){
alert('done');
$("#sendticket_button").html(data);
}
);
});
如果我点击“sendticket_button”按钮,我会在服务器控制台上获得数据库字段的预期输出
ASK app listening on port 3398!
sending:
[ RowDataPacket { id: 2, nome: 'massi', cognome: 'matt', eta: 32 },
RowDataPacket { id: 3, nome: 'car', cognome: 'petr', eta: 23 } ]
但我无法在我的客户端获得任何回复警报弹出窗口。我尝试了一切。
谢谢
答案 0 :(得分:0)
这是一个CORS问题。 这个,添加到服务器端,修复了问题:
app.use(function(req,res,next){
res.header("Access-Control-Allow-Origin","*");
next();
});