게시물을 게시 할 때 문제가 있습니다. 내 app.get 완벽하게 작동하지만 게시물에 대해 동일한 말할 수 없습니다. 이것은 내 server.js노드 js express 3 app.post not working
// Express is the web framework
var express = require('express');
var app = express();
app.use(express.bodyParser());
app.configure(function() {
app.use(allowCrossDomain);
});
app.post('/server/orders',express.bodyParser(), function(req, res) {
alert("Estamoooo");
console.log("POST Order");
var client = mysql.createConnection({
host : 'localhost',
database : "DB",
user : 'root',
password : 'XXXX'
});
client.connect();
var name = req.body.name;
var lastname = req.body.lastname;
var telephone = req.body.telephone;
var address = req.body.address;
var queso = req.body.queso;
var vainilla = req.body.vainilla;
var date = req.body.date;
var query = client.query("insert into orden(name,lastname,telephone,address,queso,vainilla,date) values('"
+ name + "', '" + lastname +"','"+ telephone +"' , "+ address + ", '" + queso + "', "+ vainilla +", '" + date
+"');");
query.on("end", function (result) {
client.end();
res.json(true);
});
});
이며,이 아약스가 호출되지 않는 내 appjs.js
function addOrder(){
var newOrder = {};
newOrder.name = document.getElementById("nombre").value;
newOrder.lastname = document.getElementById("apellido").value;
newOrder.telephone = document.getElementById("telefono").value;
newOrder.address = document.getElementById("direccion").value;
newOrder.queso = document.getElementById("cantidadQueso").value;
newOrder.vainilla = document.getElementById("cantidadVainilla").value;
newOrder.date = document.getElementById("fecha").value;
var newOrderJSON = JSON.stringify(newOrder);
alert("New Order: " + newOrderJSON);
$.ajax({
url : "http://192.168.0.1:8020/server/orders",
method: 'post',
data : newOrderJSON,
contentType: "application/json",
dataType:"json",
success : function(data, textStatus, jqXHR){
alert("Data Added!!!");
},
error: function(data, textStatus, jqXHR){
alert("Data could not be added!");
}
});
}
입니다. 나는 응답을 얻지 못한다. 단지 아무 일도 일어나지 않는다. 얻을 수있는 작품이 정말 훌륭하기 때문에 이상합니다. 감사!
업데이트 : 서버 측이 훌륭하게 작동한다는 것을 알고 있습니다. 문제는 appjs 코드에 있습니다. 아약스 호출을 건너 뜁니다.
클라이언트 코드가 실행 되었습니까? JSON.stringify (newOrder)'데이터 변수를 문자열화할 필요가 없으므로. 어떻게 전달할 수 있을까요?'data : newOrder, ' – czerasz
네, 실행됩니다. onclick = "addOrder()"가있는 버튼 일뿐입니다. 사실 저는 아약스 바로 전에 경고를받을 수 있지만 그게 전부입니다. 다른 건 없어. –
요청이 서버에 도착합니까 (브라우저 네트워크 모니터에 체크인)? 그렇다면 서버가 디버그 메시지를 반환합니까? – czerasz