当我尝试做帖子时,数据被发送并且服务器接收它但是从不调用成功函数。该连接显示在chrome的网络检查器选项卡中已停止,并且警告:连接尚未完成。
脚本:
var modif = {
CRN: $("#DIAS").parent().parent().parent().children()[0].children[0].innerText,
DIAS: $("#DIAS").val(),
start_hr: $("#STRHR").val(),
end_hr: $("#ENDHR").val(),
title: $("#TITLE").val()
}
$.ajax({
url: '/cmanager/edit',
dataType: 'text',
type: 'POST',
data: modif,
success: function (order) {
alert("functiono!");
},
error: function(jqXHR, textStatus, errorThrown) {
alert("Error, status = " + textStatus + ", " +
"error thrown: " + errorThrown
);
服务器
app.post("/cmanager/edit",function (req, res) {
var CRN = req.body.CRN;
var DIAS = req.body.DIAS;
var start_hr = req.body.start_hr;
var end_hr = req.body.end_hr;
var title = req.body.title;
console.log(CRN);
console.log(DIAS);
console.log(start_hr);
console.log(end_hr);
console.log(title);
var usrq = "update section natural join class set DIAS = '"+DIAS+"', start_hr = '"+start_hr+"', end_hr = '"+end_hr+"', title = '"+title+"' where CRN = '"+CRN+"';";
connection.query(usrq, function (error, results, fields) {
if (error)
console.log(error.code);
else
try {
console.log("hello");
} catch (error) {
console.log("bad ifo by client");
}
});
})
答案 0 :(得分:0)
您的服务器中没有任何地方实际将任何数据发送回客户端。
在您的服务器中,您至少需要致电res.end()
。在我看来,你真正想要的是res.sendStatus(204);
。
另请注意,您对SQL注入攻击全面开放,如果您还没有被攻击,则会被黑客攻击。始终使用参数化查询来完全避免此问题。