usar update example ejemplo data con como jquery json

update - La mejor forma de mostrar datos a través de JSON usando jQuery



highcharts update data (4)

Estoy tratando de encontrar la mejor manera de mostrar los resultados en mi página a través de una llamada Ajax utilizando jQuery, ¿cree que la mejor manera es pasarlo como JSON o texto sin formato? He trabajado con llamadas ajax antes, pero no estoy seguro de cuál es el preferido sobre el otro y para la versión JSON cuál es la mejor manera de leer un archivo JSON generado por una página PHP para mostrar mis resultados.

Sé que incluiría un .each para recorrerlo y mostrarlos todos.


¡Perfecto! Gracias Jay, a continuación está mi HTML:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>Facebook like ajax post - jQuery - ryancoughlin.com</title> <link rel="stylesheet" href="../css/screen.css" type="text/css" media="screen, projection" /> <link rel="stylesheet" href="../css/print.css" type="text/css" media="print" /> <!--[if IE]><link rel="stylesheet" href="../css/ie.css" type="text/css" media="screen, projection"><![endif]--> <link href="../css/highlight.css" rel="stylesheet" type="text/css" media="screen" /> <script src="js/jquery.js" type="text/javascript" charset="utf-8"></script> <script type="text/javascript"> /* <![CDATA[ */ $(document).ready(function(){ $.getJSON("readJSON.php",function(data){ $.each(data.post, function(i,post){ content += ''<p>'' + post.post_author + ''</p>''; content += ''<p>'' + post.post_content + ''</p>''; content += ''<p'' + post.date + ''</p>''; content += ''<br/>''; $(content).appendTo("#posts"); }); }); }); /* ]]> */ </script> </head> <body> <div class="container"> <div class="span-24"> <h2>Check out the following posts:</h2> <div id="posts"> </di> </div> </div> </body> </html>

Y mis salidas JSON:

{ posts: [{"id":"1","date_added":"0001-02-22 00:00:00","post_content":"This is a post","author":"Ryan Coughlin"}]}

Me sale este error cuando ejecuto mi código:

object is undefined http://localhost:8888/rks/post/js/jquery.js Line 19


Algo como esto:

$.getJSON("http://mywebsite.com/json/get.php?cid=15", function(data){ $.each(data.products, function(i,product){ content = ''<p>'' + product.product_title + ''</p>''; content += ''<p>'' + product.product_short_description + ''</p>''; content += ''<img src="'' + product.product_thumbnail_src + ''"/>''; content += ''<br/>''; $(content).appendTo("#product_list"); }); });

Tomaría un objeto json hecho a partir de una matriz PHP devuelta con la clave de productos. p.ej:

Array(''products'' => Array(0 => Array(''product_title'' => ''Product 1'', ''product_short_description'' => ''Product 1 is a useful product'', ''product_thumbnail_src'' => ''/images/15/1.jpg'' ) 1 => Array(''product_title'' => ''Product 2'', ''product_short_description'' => ''Product 2 is a not so useful product'', ''product_thumbnail_src'' => ''/images/15/2.jpg'' ) ) )

Para volver a cargar la lista simplemente lo haría:

$("#product_list").empty();

Y luego vuelve a llamar a getJSON con nuevos parámetros.


JQuery tiene un tipo de datos json incorporado para Ajax y convierte los datos en un objeto. PHP% también tiene la función incorporada json_encode que convierte una matriz en cadena json formateada. Ahorra una gran cantidad de análisis y esfuerzo de decodificación.


Puede crear un objeto jQuery a partir de un objeto JSON:

$.getJSON(url, data, function(json) { $(json).each(function() { /* YOUR CODE HERE */ }); });