New question

Question:

Date: 16-05-2018 15:58:53 (In Spanish)

Foreach en Jquery[Resolved]

En el resultado de la consulta ajax, recibo un json, a esto necesito listarle en un tabla, aplique lo siguiente, pero no me resulta. alguien que me eche una mano, por favor.

$.ajax({

		url:rutaOculta+"ajax/ajax.carrito.php",
		method:"POST",
		data:datos,
		cache:false,
		contentType:false,
		processData:false,
		success:function(respuesta){

			var resultado=JSON.parse(respuesta);
			$(".cuerpo-tabla").html("");

			$.each(resultado, function(index, value) {
				$(".cuerpo-tabla").html('<tr>'+
 							'<th>'+index.descripcion+'</th>'+
 							'<th>'+index.cantidad+'</th>'+
 							'<th>'+index.precio+'</th>'+
 						'</tr>');							
			});
		}
	})

Tags: Javascript - Javascript JSON - JQuery - PHP Votes: 0 - Answers: 11 - Views: 18 Share on: Google Facebook Twitter LinkedIn Link
 

Answers:

  • Date: 16-05-2018 18:05:12 Hola,
    Tienes algún mensaje de error? Algo más específico que aporte más contexto ayudaría.
    Un ejemplo del json que te devuelve la llamada a ajax/ajax.carrito.php puede ayudar bastante
      Votes: 0 - Link answer
     
  • Date: 16-05-2018 18:26:22 Apoyo lo que indica Ernesto, échale un ojo a este post que trata sobre Ajax anidado | ¿Cómo hacer la espera a las solicitudes de un Ajax dentro de otro?.

    Ahí se da un ejemplo de cómo obtener la información que devuelve un script PHP a JS en formato JSON. Prestale atención en la variable respuesta.
      Votes: 1 - Link answer
     
  • Date: 17-05-2018 07:04:08 Te dejo esta muestra que hice `para una respuesta aqui mismo creo, no recuerdo:

    $(function(){
    	$(".cargar").click(function(){
      	$.get('https://test-163a4.firebaseapp.com/lista.json?callback=?', function(data){
          $("#cuerpo").html("");
          for(var i=0; i<data.datos.length; i++){
          	var tr = `<tr>
            	<td>`+data.datos[i].nombre+`</td>
              <td>`+data.datos[i].apellido+`</td>
              <td>`+data.datos[i].cargo+`</td>
              <td>`+data.datos[i].empresa+`</td>
            </tr>`;
            $("#cuerpo").append(tr)
          }
        })    
      })
    })
    


    El callback es porque estoy solicitando un json desde un dominio a otro, pero si tu peticion es interna, no hace falta, de igual manera, esto va a depender de varios factores, si estas solicitando de manera directa a otro dominio, a una api, etc.

    VER MUESTRA Funcionando
      Votes: 2 - Link answer
     
  • Date: 17-05-2018 08:30:49 Hola carlos, en console el JSON que recibo me resulta el siguiente:
    	 data {"id":"4","0":"4","descripcion":"Manga publicitaria modelo a7 - Rojo - S","1":"Manga publicitaria modelo a7 - Rojo - S","cantidad":"2","2":"2","precio":"50","3":"50","idpedido":"4","4":"4","idproducto":"39","5":"39"}


    A mi parecer no es un formato Json correcto el que recibo, o me equivoco.
    desde el archivo php lo envio con un
    echo json_encode($respuesta);
      Votes: 0 - Link answer
     
  • Date: 22-05-2018 03:54:13 Buenos días, primero esto nunca lo hice (var resultado=JSON.parse(respuesta);), directamente uso la respuesta que viene y, capaz que respuesta no sea un array pero si respuesta.data (al parecer por lo que pusiste cuando ves los datos que regresan).

    Es decir,

    $.each(resultado.data, function(index, value) {
    //codigo
    });

    Saludos
    DIEGO
      Votes: 1 - Link answer
     
  • Date: 22-05-2018 06:01:42 Hola carlos
    segun lo que compartes

    data {"id":"4","0":"4","descripcion":"Manga publicitaria modelo a7 - Rojo - S","1":"Manga publicitaria modelo a7 - Rojo - S","cantidad":"2","2":"2","precio":"50","3":"50","idpedido":"4","4":"4","idproducto":"39","5":"39"}


    se ve que no es un array , lo cual hacerlo un each estaria mal simplemtente acceder a las propiedades
    si quieres acceder al id seria asi

    resultado.id

    si quieres acceder a descripcion seria asi

    resultado.descripcion
      Votes: 1 - Link answer
     
  • Date: 22-05-2018 06:38:37 Juan, parece ser que ha hecho un var_dump o print_r desde php y eso es un array, te muestra el índice tanto como con una descripción como numérico pero desde php.

    Para Capzula, tendrías que hacer un console.log desde el js para ve que te trae y ver como está armado el arregllo pero, como dije antes, creo que el arreglo que te interesa esta en resultado.data o resultado[0].data y no resultado, solamente
      Votes: 1 - Link answer
     
  • Date: 22-05-2018 07:28:50 Muchas gracias a todos por su respuesta, El problema esta resuelto.   Votes: 1 - Link answer
     
  • Date: 22-05-2018 07:48:06 Como fue que lo has resuelto? Cual era el problema?   Votes: 4 - Link answer
     
  • Date: 23-05-2018 03:12:46 Hola, Capzzula Vh

    Por favor, comparte la solución que has encontrado, alguien más la puede necesitar.

    ¡Saludos a todos!
      Votes: 1 - Link answer
     
  • Date: 25-05-2018 13:19:59 intenta esto:

    $.ajax({
            url:rutaOculta+"ajax/ajax.carrito.php",
            method:"POST",
            data:datos,
            cache:false,
            contentType:false,
            processData:false,
            success:function(respuesta){
                var resultado = JSON.parse(respuesta);
                console.log(resultado);
                $(".cuerpo-tabla").html("");
                $.each(resultado, function(index, value) {
                    $(".cuerpo-tabla").html('<tr>'+
                                 '<th>'+value.descripcion+'</th>'+
                                 '<th>'+value.cantidad+'</th>'+
                                 '<th>'+value.precio+'</th>'+
                             '</tr>');                            
                });
            }
        })
    
      Votes: 1 - Link answer
     
To actively participate in the community first must authenticate, enter the system.Sign In
 
frjcbbae garagebible.com