Foros del Web » Programando para Internet » Javascript »

como devolver un array de una funcion!

Estas en el tema de como devolver un array de una funcion! en el foro de Javascript en Foros del Web. buena tarde, dando lata amigos. . tengo una funcion en la que se genera una consulta por ajax y genera un array, mi pregunta es, ...
  #1 (permalink)  
Antiguo 23/04/2014, 16:25
 
Fecha de Ingreso: marzo-2014
Mensajes: 66
Antigüedad: 10 años, 1 mes
Puntos: 0
como devolver un array de una funcion!

buena tarde, dando lata amigos.
.
tengo una funcion en la que se genera una consulta por ajax y genera un array, mi pregunta es, como puedo devolver dicho array para ocuparlo fuera de la funcion?
.
.
intente con return pero me dice valor undefined
.
.aqui el cachito de codigo !
.
.
function useHttpResponse()
{
if (http.readyState == 4) //se ejecuta solo si esta listo
{
if (http.status == 200) //ejecuta solo si la transaccion se ah completado
{
//conjunto de operaciones con los datos devueltos

var mitexto = http.responseText.split('!'); //array guardado


}else{

}
}

return mitexto;

}

var mitexto= useHttpResponse();

alert (mitexto);
.
una manita porfa !!!!
  #2 (permalink)  
Antiguo 23/04/2014, 16:31
Avatar de abimex
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: ~
Mensajes: 751
Antigüedad: 17 años, 2 meses
Puntos: 137
Respuesta: como devolver un array de una funcion!

si los ifs no se cumplen, va a tratar de regresar una variable que no existe, trata de definir la variable antes o haz el return despues de declararla si no la utilizas en otra parte de la funcion
__________________
>> abimaelmartell.com
  #3 (permalink)  
Antiguo 23/04/2014, 17:14
 
Fecha de Ingreso: marzo-2014
Mensajes: 66
Antigüedad: 10 años, 1 mes
Puntos: 0
Respuesta: como devolver un array de una funcion!

mmm nop no me funciono, la cuestion es que despues necesito los datos de ese array para ponerlos en otro asi!

var beaches = [
['mitexto[0]', mitexto[1],mitexto[2], 1],


pero nadamas no lo puedo hacer, me sigue saliendo undefined
.
aun poniendo el return justo despues de la declaracion de la variable mitexto.
.
y no se como la podria definir antes !!! ya me duele todoooo jeje muchas gracias alguna otra sugerencia??
  #4 (permalink)  
Antiguo 23/04/2014, 19:33
Avatar de vick90  
Fecha de Ingreso: abril-2010
Mensajes: 144
Antigüedad: 14 años
Puntos: 14
Lo que tienes que hacer es devolver el http sin almacenarlo en ninguna var.
  #5 (permalink)  
Antiguo 24/04/2014, 10:15
 
Fecha de Ingreso: agosto-2013
Mensajes: 150
Antigüedad: 10 años, 8 meses
Puntos: 29
Respuesta: como devolver un array de una funcion!

Con una función dentro puede andar:
Código Javascript:
Ver original
  1. window.onload = function() {
  2.  
  3.         function foo(ajax) {
  4.           test.innerHTML = '';
  5.           var beaches = ajax.responseText.split('!');
  6.           for (var i in beaches) {
  7.             test.innerHTML += i + ':' + beaches[i] + '<br />';
  8.           }
  9.         }
  10.  
  11.         function funcion() {
  12.           var ajax;
  13.           if (window.XMLHttpRequest) {
  14.             ajax = new XMLHttpRequest();
  15.           } else {
  16.             alert(e);
  17.           }
  18.           ajax.open("GET", "ajax_info.txt", true);
  19.           ajax.send();
  20.           ajax.onreadystatechange = function() {
  21.             if (ajax.readyState === 4 && ajax.status === 200) {
  22.               foo(ajax);
  23.             }
  24.           };
  25.         }
  26.  
  27.         var test = document.getElementById("test");
  28.         var boton = document.getElementById("boton");
  29.         boton.addEventListener('click', function(e) {
  30.           e.preventDefault();
  31.           funcion();
  32.         });
  33.  
  34.       };

En ajax_info.txt:
dato_1!dato_2!dato_3

Código HTML:
Ver original
  1. <button type="button" id="boton">boton</button>
  2.     <div id="test"></div>

Última edición por bathorz; 24/04/2014 a las 13:25
  #6 (permalink)  
Antiguo 24/04/2014, 20:34
 
Fecha de Ingreso: marzo-2014
Mensajes: 66
Antigüedad: 10 años, 1 mes
Puntos: 0
Respuesta: como devolver un array de una funcion!

Bien hice lo siguiente

function useHttpResponse()
{
if (http.readyState == 4) //se ejecuta solo si esta listo
{
if (http.status == 200) //ejecuta solo si la transaccion se ah completado
{
//conjunto de operaciones con los datos devueltos

var mitexto = http.responseText.split('!'); //array guardado

document.getElementById('mena1fecha').innerHTML = mitexto[0]; //ahora lo llamo con un div.

}else{

}
}

return mitexto;

}



lo inserto con un div en html y funciona sin problemas, pero lo que quiero es usar ese valor dentro de javascript y no se como obtenerlo !!!
  #7 (permalink)  
Antiguo 24/04/2014, 22:09
 
Fecha de Ingreso: abril-2014
Mensajes: 7
Antigüedad: 10 años
Puntos: 1
Respuesta: como devolver un array de una funcion!

Como tienes 'mitexto' como variable local, no la puedes usar fuera de la funcion 'useHttpResponse'. Al menos que hagas: var nuevomitexto=useHttpResponse(); pero no creo que te sirva, lo que tienes que hacer es usar 'mitexto' como variable global declarandola al principio del script o quitandole el 'var'.

Etiquetas: devolver, funcion, valor
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:47.