我正在尝试从带有json文件的html表中发送数据并将其传递给服务器节点,但是在服务器上,当我传递json它可以读取它时,它会被多次复制,因为它传递了所有的数据到服务器,但它运行了两次以上,我不知道是否会有一个方法只运行一次。
客户端:
function enviarDatos(listJson){
$.ajax({
type: "POST",
url: "http://localhost:8080/enviando_datos.json",
data: listJson,
success: function(data) {
//show content
alert('Success!');
},
error: function(jqXHR, textStatus, err) {
//show error message
//alert('text status '+textStatus+', err '+err);
}
});
}
服务器端:
app.post('/enviando_datos.json', function(req, res){
//sacar eprocentaje de consumo
//sacar valor de fondo fijo
var fecha_actual = new Date();
var dd_actual = fecha_actual.getDate();
var mm_actual = fecha_actual.getMonth()+1; //hoy es 0!
var yyyy_actual = fecha_actual.getFullYear();
fecha_actual = yyyy_actual+"-"+ mm_actual+'-'+dd_actual;
var estado = 0;
if(req.body.tipo == 'VALE DE PAGO'){
var valor_base = req.body.valor;
}else{
var valor_base = req.body.valor - (req.body.valor*0.14);
}
db_handler.obtener_fondo_categoria(req.body.categoria,function(queryResMontoMax){
db_handler.insertar_proveedores_ruc_cedula(req.body.proveedor,req.body.ruccedula,function(queryRes1){
db_handler.insertar_datos_caja_chica_con_factura(
req.carPoolSession.username,
fecha_actual,
req.body.valortotal,
queryResMontoMax[0].MONTO_MAX,
'15%',
req.body.empresa,
req.body.categoria,
req.body.proveedor,
req.body.ruccedula,
req.body.entregado,
req.body.cargado,
req.body.fecha,
req.body.valor,
req.body.tipo,
req.body.estabfact,
req.body.ptoemifact,
req.body.numsecfact,
req.body.numautofact,
'14%',
valor_base,
req.body.estabret,
req.body.numemiret,
req.body.numsecret,
req.body.numautoret,
estado,
function(queryRes2){
console.log('datos ingresados con exito');
});
});
});
});
答案 0 :(得分:1)
我不确定这台路由器是否可行...我似乎永远不会是一台扩展名为.json的路由器。
如果我错了,请告诉我:)
但是... 您还没有序列化请求中的数据,现在只是一个JavaScript对象,直到您将其序列化为JSON。 尝试输入有关数据的dataType和内容类型。
$.ajax({
type: "POST",
url: "http://localhost:8080/enviando_datos.json",
dataType: "json",
contentType: 'application/json', //see that
data: listJson
}).done(function ( data ) {
alert("ajax callback response: "+JSON.stringify(data));
});
调用JSON.stringify
以序列化为JSON,然后body parser
需要解析。