반응형
Node.js의 ajax post에서 성공을 반환하는 방법
다음과 같은 기능이 있습니다.
exports.saveAction = function (req, res) {
var conn = mysql.createConnection({
host : nconf.get("database:host"),
//port: 3306,
user : nconf.get("database:username"),
password : nconf.get("database:password"),
database : nconf.get("database:database"),
multipleStatements: true,
//ssl: 'Amazon RDS'
});
var action = req.body;
conn.query('UPDATE actions SET ? WHERE Id = ?',
[action, action.Id], function (err, result) {
conn.end();
if (err) throw err;
res.writeHead(200, { "Content-Type": "application/json" });
res.end("Updated Successfully");
});
};
그리고 저는 "200"을 반환하지만, 그것은 항상 아래와 같은 오류 조항으로 반환됩니다.
$.ajax({
url: "/api/action/SaveAction",
type: "PUT",
data: ko.toJSON(self.stripDownObj()),
datatype: "json",
contentType: "application/json; charset=utf-8",
success: function (result) {
console.log(result);
if(result.status == 200){
self.isEditMode(!self.isEditMode());
}
},
error: function(result){
console.log(result);
}
});
참고: sql 쿼리가 성공적이며 데이터를 저장합니다.
JSON을 기대하고 있을 때 JSON을 돌려줌으로써.
res.end('{"success" : "Updated Successfully", "status" : 200}');
그리고 나서.
$.ajax({
....
datatype: "json", // expecting JSON to be returned
success: function (result) {
console.log(result);
if(result.status == 200){
self.isEditMode(!self.isEditMode());
}
},
error: function(result){
console.log(result);
}
});
노드에서는 항상 JSON.stringify를 사용하여 유효한 JSON을 얻을 수 있습니다.
var response = {
status : 200,
success : 'Updated Successfully'
}
res.end(JSON.stringify(response));
Express도 지원합니다.
res.json({success : "Updated Successfully", status : 200});
개체를 JSON으로 변환하고 사용자에게 적합한 헤더를 자동으로 전달합니다.
언급URL : https://stackoverflow.com/questions/22820734/how-to-return-success-from-ajax-post-in-node-js
반응형
'it-source' 카테고리의 다른 글
Oracle OLEDB 공급자의 성능 카운터를 추가할 수 없습니다. (0) | 2023.10.08 |
---|---|
ESRI : 소스 맵을 구문 분석하지 못했습니다. (0) | 2023.10.03 |
OpenGL에서 4D 객체 시각화 (0) | 2023.10.03 |
Visualising 4D objects in OpenGL (0) | 2023.10.03 |
쿼리 성능 측정: "실행 계획 쿼리 비용" 대 " 소요 시간" (0) | 2023.10.03 |