Foros del Web » Programando para Internet » Javascript »

parametro objeto json missing ]

Estas en el tema de parametro objeto json missing ] en el foro de Javascript en Foros del Web. Hola gente: A traves de una serie de marañas que se fue elaborando, debo pasar parametros a una funcion, dicho parámetro es un objecto json ...
  #1 (permalink)  
Antiguo 17/09/2010, 08:44
 
Fecha de Ingreso: junio-2008
Ubicación: Capital Federal xD
Mensajes: 1.208
Antigüedad: 16 años, 4 meses
Puntos: 35
parametro objeto json missing ]

Hola gente:
A traves de una serie de marañas que se fue elaborando, debo pasar parametros a una funcion, dicho parámetro es un objecto json que una de sus propiedades es otro objeto json.
Código PHP:
//Objeto json con 2 elementos, un string y otro objeto json
var AJAX_DATA = ({
    
url"controlador.php",
    
'values' :{
            
'ids':'1'
       
}
}); 
Luego con DOM genero un button, al clickear en él llamo a una función que debe recibir 2 parametros los cuales están definidos en el objeto AJAX_DATA.
Pero al ejecutar dicho evento firebug me muestra
"missing ] after element list"
El codigo html resultante es:
Código PHP:
<button onclick="AJAXOBJ.ajaxBringData('controlador.php',[object Object]);">Aceptar</button
Y no puedo salir de alli. =(
__________________
I am Doyle please insert code.
  #2 (permalink)  
Antiguo 17/09/2010, 08:55
Avatar de tredio  
Fecha de Ingreso: noviembre-2008
Ubicación: Carabobo
Mensajes: 466
Antigüedad: 16 años
Puntos: 66
Respuesta: parametro objeto json missing ]

le mandas [object Object] como parametro?, ahi si no entiendo que tratas de hacer.
__________________
Extension Google Chrome
dar las gracias no cuesta nada :D
  #3 (permalink)  
Antiguo 17/09/2010, 08:58
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años, 6 meses
Puntos: 1485
Respuesta: parametro objeto json missing ]

¿seguro/a que estas haciendo el boton con DOM? sospecho que estas creando el boton con innerHTML o document.write y concatenando el string con el objeto AJAX_DATA. por eso te muestra object Object, estas transformando un objeto a un string. o sea, me parece que tienes algo como...
Código:
element.innerHTML = "codigo html" + AJAX_DATA + "codigo html";
una posible solucion, simplemente no concatenes la variable al string, sino mas bien incluye la variable dentro del string de modo que te debe quedar asi.
Código:
element.innerHTML = "codigo html AJAX_DATA codigo html";
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #4 (permalink)  
Antiguo 17/09/2010, 09:33
 
Fecha de Ingreso: junio-2008
Ubicación: Capital Federal xD
Mensajes: 1.208
Antigüedad: 16 años, 4 meses
Puntos: 35
Respuesta: parametro objeto json missing ]

=((((
Debo decir que estoy aprendiendo la sintaxis json..
//ahora datos es el objeto json directamente con una propiedad de id:value
Probé los de las comillas pero ahora sí me imprime un string,
Código PHP:
dialogcontent.innerHTML += "<button onclick=\"AJAXOBJ.ajaxBringData(datos);\">Aceptar</button>"
AJAXOBJ.ajaxBringData() es una función que debe recibir un objeto json, dicho objeto está en 'datos'.
Antes del innerhtml uso
Código PHP:
console.debug(datos);
//y me muestra correctamente su contenido
Object ids="1"
Pero en el html generado quedó como un string
Código PHP:
<button onclick="AJAXOBJ.ajaxBringData(datos);">Aceptar</button
'datos is not defined'
__________________
I am Doyle please insert code.
  #5 (permalink)  
Antiguo 17/09/2010, 10:14
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años, 6 meses
Puntos: 1485
Respuesta: parametro objeto json missing ]

tambien depende donde esta definido el objeto. cuando se usan variables en un evento que esta declarado como atributo de un elemento, en la mayoria de los casos el evento siempre asume que las variables son de ambito global. si no es tu caso, entonces tienes que crear el evento por otros medios para que el evento pueda estar enlazado con la variable. pero para ello, ya no puedes declarar el evento como atributo. mas bien tienes que crear el elemento por metodos del DOM y luego asignar el evento por propiedades de javascript. analice los siguientes codigos.

Código:
// ejemplo: json is undefined porque la variable json no se encuentra ;
// en la jerarquia del contexto en que esta definido el evento onclick;
function displayMessage(obj){
alert(obj.author.concat(" escribio el tema '", obj.topic, "' en el foro ", obj.forum, " de los cuales han participado los siguiente usuarios: ", obj.conversationWith.toString()));
}

// esta funcion podria ser otra que se invoque mas tarde,;
// pero para proposito de ejemplo lo he creado como evento;
self.onload = function(){ 
var json = {author: "doylelives", topic: "parametro objeto json missing ]", forum: "javascript", conversationWith:["zerokilled", "tredio"]};
document.body.innerHTML = "<button onclick='displayMessage(json);'>show</button>";
}
Código:
// ejemplo: mas o menos el mismo codigo anterior con excepcion;
// de como se crea el evento para el elemento;
function displayMessage(obj){
alert(obj.author.concat(" escribio el tema '", obj.topic, "' en el foro ", obj.forum, " de los cuales han participado los siguiente usuarios: ", obj.conversationWith.toString()));
}

self.onload = function(){ 
var json = {author: "doylelives", topic: "parametro objeto json missing ]", forum: "javascript", conversationWith:["zerokilled", "tredio"]};
var button = document.body.appendChild(document.createElement("button"));
button.onclick = function(){displayMessage(json);};
button.innerHTML = "show";
}
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.

Última edición por zerokilled; 17/09/2010 a las 10:21
  #6 (permalink)  
Antiguo 17/09/2010, 12:03
 
Fecha de Ingreso: junio-2008
Ubicación: Capital Federal xD
Mensajes: 1.208
Antigüedad: 16 años, 4 meses
Puntos: 35
Respuesta: parametro objeto json missing ]

claro!!! el innerHTML creo que interpreta un string,
en fin, usé la propiedad onclick de js y me funciona, luego de tanto trabajo funciona ;)
gracias OK!!
__________________
I am Doyle please insert code.

Etiquetas: json, missing, objeto, parámetros
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 07:07.