Comunidad de diseño web y desarrollo en internet online

Capturar Variable que arroja responseText

Citar            
MensajeEscrito el 27 Feb 2009 06:15 pm
Buenas Tardes Espero me puedan Ayudar:

Tengo el sisguiente problema:
quiero enviar para grabar datos mediante la funcion enviar(), dentro de ella hay 2 AJAX, el primero crea un codigo autogenrado manda de respuesta un codigo nuevo que lo coloca en la variable "codigo_nuevo"; el segundo envia la informacion a una pagina php que guarda la data y envia un mensaje OK.

el problema es el que no puedo capturar la variable del primer AJAX para pasarla como parametro en el segundo AJAX, ya que este ultimo guardara toda la data. Espero me puedan Ayudar... Gracias :cry:

Simplifique el codigo centrandome en el problema.... Thanks;
<html>
<head>
</head>
<body>
<script>
//--------------------------
function enviar(){
var razon_social=form.razon_social.value;
var referencia=form.referencia.value;
var codigo_nuevo='';

var ajax_cod=nuevoAjax();
// genera codigo de cliente
ajax_cod.open("POST", '_inc/cli010c.php', true);
ajax_cod.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
ajax_cod.send("razon_social="+razon_social);
ajax_cod.onreadystatechange=function(){
if (ajax_cod.readyState==4){
codigo_nuevo = ajax_cod.responseText;
}
}

// guarda la informacion
var ajax=nuevoAjax();
var urlDestino="grabar.php";
ajax.open("POST", urlDestino, true);
ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
ajax.send("razon_social="+razon_social+"&referencia="+referencia+"&codigo="+codigo);
ajax.onreadystatechange=function(){
if (ajax.readyState==4){
var respuesta=ajax.responseText;
if(respuesta=="OK"){
alert("Datos grabados OK");
}
}
}
}
</script>

<!-- el q invoca -->
<form name="form" id="form">
<input type="text" name="razon_social" value> <br>
<input type="text" name="referencia" value> <br>
<input type="button" name="Grabar" onclick="enviar()">
</form>
</body>
</html>

Por chalaco_hard

3 de clabLevel



 

msie7
Citar            
MensajeEscrito el 27 Feb 2009 08:38 pm
proba solo con el 1er Ajax para que veas si en veradad te esta jalando el dato

Por jpcw

Claber

1715 de clabLevel

1 tutorial

Genero:Masculino  

AlgoritmicBrainDesigner

firefox
Citar            
MensajeEscrito el 28 Feb 2009 01:19 pm
gracias jpcw.... estuve probando y el primero me funca y el segundo tambien OJO pero sin esta fuck Variable. Lo que sucede es que la variable que bota el primer AJAX me sale "undefined" cuendo esta dentro del AJAX y cuando esta fuera bota OK

<script>
//--------------------------
function enviar(){

var razon_social=form.razon_social.value;
var referencia=form.referencia.value;
var codigo_nuevo='';


var ajax_cod=nuevoAjax();
// genera codigo de cliente
ajax_cod.open("POST", '_inc/cli010c.php', true);
ajax_cod.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
ajax_cod.send("razon_social="+razon_social);
ajax_cod.onreadystatechange=function(){
if (ajax_cod.readyState==4){
codigo_nuevo = ajax_cod.responseText;
alert(codigo_nuevo); //AQUI ME PINTA OK
}
}

alert(codigo_nuevo); //AQUI ME PINTA UNDEFINED


// guarda la informacion
var ajax=nuevoAjax();
var urlDestino="grabar.php";
ajax.open("POST", urlDestino, true);
ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
ajax.send("razon_social="+razon_social+"&referencia="+referencia+"&codigo="+codigo);
ajax.onreadystatechange=function(){
if (ajax.readyState==4){
var respuesta=ajax.responseText;
if(respuesta=="OK"){
alert("Datos grabados OK");
}
}
}
}
</script>

lo que no me sale es esta fuck variable que necesito para guardar, pq como repito... si no usara la variable y le diera el valor que quiera too funcionaria pero el juego no es asi..... (:~(

Por chalaco_hard

3 de clabLevel



 

msie7
Citar            
MensajeEscrito el 14 Abr 2009 05:35 am
Debe ser que la variable la estas creando dentro de la funcion del onreadystatechange del ajax, por lo tanto no existe por fuera de esta misma. debes declararla antes, al mismo nivel de la funcion onreadystatechange

ej:

var respuesta;

ajax.onreadystatechange = funtion()
{
...
respuesta = ajax.responseText;
...
}

alert(respuesta);

SALUDOS!!

Por que_capo

4 de clabLevel



Genero:Masculino  

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.