Array
(
)

Não persiste no BD, função com jquery gravando em duas tabelas

Pjava
   - 17 mar 2014

A minha necessidade é a seguinte. Gravo em uma tabela, pego o ID gerado e gravo na segunda tabela com esse ID. Como a ordem é fazer isso em Jquery, foi feita uma função(por colega) e não grava. Veja que há duas chamadas no ajax. Se eu removo a segunda etapa(persistir na segunada tabela), funciona, mas quando eu habilito o segundo código, aí não funciona nada, nem a 1ª e nem a 2ª. Abaixo meu código jquery. Se fosse fazer no Code Behind, eu sei fazer, pois já fiz muito, mas com jquery eu não estou conseguindo. Qualquer ajuda e opinião é bem-vinda.
#Código$(function () {
$("#btnGravarPassageiros").click(function () {
var result = {
Id: 0,
Nome: $("input[name ='txtNome']").val(),
CPF: $("input[name='txtCep']").val(),
Email: $("input[name='txtEmail']").val(),
DataNascimento: $("input[name='txtAno']").val() + "-" + $("input[name='txtMes']").val() + "-" + $("input[name='txtDia']").val(),
Telefone: $("input[name='txtTelefone']").val(),
Celular: $("input[name='txtCelular']").val(),
Endereco: $("input[name='txtLogradouro']").val(),
Numero: $("input[name='txtNumero']").val(),
CEP: $("input[name='txtCep']").val(),
Complmento: $("input[name='txtComplemento']").val()
};
var result = [];
var resultado;
var cont = 0

$.ajax({
url: '/Passo/addCliente',
dataType: "json",
contentType: "application/json; charset=utf-8",
type: "POST",
data: JSON.stringify({ _tb_clientes: result }),
success: function (data) {
alert(data.Result);
$(".passageiro").each(function () {
nm = "txtNomePassageiro" + cont;
dia = "txtDiaPassageiro" + cont;
mes = "txtMesPassagecontro" + cont;
ano = "txtAnoPassagecontro" + cont;
sexo = "txtSexo" + cont;
numpassaporte = "txtPassaporte" + cont;
diavalidade = "txtDiaVal" + cont;
mesvalidade = "txtMesVal" + cont;
anovalidade = "txtAnoVal" + cont;
paisemissao = "txtPaisEmissao" + cont;

resultado = jQuery.parseJSON('{"Id_Cliente" : "' + data.Result +'" , "Nome": "' + $("input[name =" + nm + "]").val() +
'", "PassaPorte": "' + $("input[name =" + numpassaporte + "]").val() + '", "DataNascimento": "' + $("input[name =" + dia + "-" + mes + "-" + ano + "]").val() +
'", "Sexo": "' + $("input[name =" + sexo + "]").val() + '", "PassaPorteValidade": "' + $("input[name =" + diavalidade + "-" + mesvalidade + "-" + anovalidade + "]").val() +
'", "PassaPortePais": "' + $("input[name =" + paisemissao + "]").val() + '" }');
result.push(resultado);
cont++;
});

$.ajax({
url: '/Passo/addClientePassageiro',
dataType: "json",
contentType: "application/json; charset=utf-8",
type: "POST",
data: JSON.stringify({ _tb_clientes: result }),
success: function (data) {

},
error: function (error) {

}
});
},
error: function (error) {
}
});
});
});

Pjava
   - 17 mar 2014



eu tenho apanhado bastante com jquery. O erro estava aqui:

var result = [];

A variavel result já havia sido declarada. Alterei para:

var dados []; e aí resolveu. Agora sim, está gravando.

OBRIGADO A TODOS.