【发布时间】:2016-07-11 00:04:40
【问题描述】:
我正在尝试使用 ajax(发送用户名)将表单数据发送到服务器端,并在服务器端执行 SQL 查询并将结果传回我的模板(EJS)。
在我的服务器端 (ajaxTest.js)
router.post('/', function(req, res){
console.log(req.body);
var query = connection.query("select * from account where username='" + req.body.username+ "'",function (err,result) {
console.log(query.sql);
if (err) {
console.error(err);
return;
}
console.error(result);
res.send("Result "+JSON.stringify(result));
});
});
在我的模板中 (ajaxTest.ejs)
$(document).ready(function () {
$("#submit").on("submit",function (e) {
e.preventDefault();
data = {};
data.username = 'user101';
$.ajax({
type: 'POST',
data: JSON.stringify(data),
contentType: 'application/json',
url: 'http://localhost:3000/ajaxtest',
success: function(data) {
console.log('success');
console.log(JSON.stringify(data));
}
});
})
});
在上面的代码中,结果成功登录到我的控制台,但没有返回“成功”和数据。没有将结果发送回模板 (ajaxTest.ejs) 是否有原因?
非常感谢您对此情况的任何反馈!
【问题讨论】:
-
为什么不使用
res.json(JSON.stringify(result))? -
@Aer0 我也试过 res.json,它也不起作用。这是取回成功数据的正确方法吗?