Foros del Web » Programando para Internet » Javascript »

Manejar un solo tipo en consulta Ajax

Estas en el tema de Manejar un solo tipo en consulta Ajax en el foro de Javascript en Foros del Web. Hola me estoy basando en este ejemplo http://stackoverflow.com/questions/1...output-in-ajax y me ha funcionado perfectamente, lo que pasa es que cuando envio un solo (en este caso ...
  #1 (permalink)  
Antiguo 04/10/2012, 10:46
 
Fecha de Ingreso: mayo-2009
Mensajes: 106
Antigüedad: 15 años, 6 meses
Puntos: 1
Manejar un solo tipo en consulta Ajax

Hola me estoy basando en este ejemplo http://stackoverflow.com/questions/1...output-in-ajax

y me ha funcionado perfectamente, lo que pasa es que cuando envio un solo (en este caso producto) en lugar de una lista no funciona.

lo que hago en el js poner:

Código Javascript:
Ver original
  1. $.get('hola?do=dos', function(responseJson) { // Execute Ajax GET request on URL of "someservlet" and execute the following function with Ajax response text...
  2.                         //$('#div_respuesta').text(responseText);         // Locate HTML DOM element with ID "somediv" and set its text content with the response text.
  3.                         //$('#usuario_input').val(responseText);
  4.                         var $table = $('<table>').appendTo($('#div_respuesta')); // Create HTML <table> element and append it to HTML DOM element with ID "somediv".
  5.                         //$.each(responseJson, function(index, producto) {    // Iterate over the JSON array.
  6.                             $('<tr>').appendTo($table)                     // Create HTML <tr> element, set its text content with currently iterated item and append it to the <ul>.
  7.                             .append($('<td>').text(responseJson.id))        // Create HTML <td> element, set its text content with id of currently iterated product and append it to the <tr>.
  8.                             .append($('<td>').text(responseJson.marca))      // Create HTML <td> element, set its text content with name of currently iterated product and append it to the <tr>.
  9.                             .append($('<td>').text(responseJson.costo));    // Create HTML <td> element, set its text content with price of currently iterated product and append it to the <tr>.
  10.                         //});
  11.                     });

los nombres como ven los cambie y antes de aplicar los comentarios si funcionaba, el principal cambio que hize fue omitir el foreach y "tomar" directo los valors de la respuesta, pero aun nada.

muchas gracias por sus respuestas
__________________
VivaMéxico
  #2 (permalink)  
Antiguo 04/10/2012, 11:05
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 16 años, 5 meses
Puntos: 220
Respuesta: Manejar un solo tipo en consulta Ajax

Por lo que estoy viendo estas haciendo una mala manera de recorrer el JSON, lo que has puesto funciona siempre y cuando el JSON que se devuelva no este contenido en un Array de lo contrario seria necesario de todas maneras que uses el each de jQuery.

Valida que te esta devolviendo tu pagina en caso si solo fuera de esta manera

Código Javascript:
Ver original
  1. {id:1, nombre: 'Luis'}

Estaria siendo correcto la forma de como hacer pero si te devuelve algo como esto

Código Javascript:
Ver original
  1. [{id:1, nombre: 'Luis'}, {id: 2, nombre: 'Fernando'}]

Entonces la forma de como estas haciendo es mal para esto debes recorrer el arreglo o si lo quieres hacer directamente debes hacerlo de esta forma

responseJson[0].id
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones

Etiquetas: ajax, funcion, html, input, js, manejar, tipo
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:31.