Pregunta

Estoy intentando utilizar un $ .post () de la siguiente manera:

$.post("file.php", { file_id: $(this).val()}, function(data){...} El file.php luego hace una consulta de base de datos y devuelve una matriz con un título, descripción y la imagen de referencia.

Lo que quiero hacer entonces es capaz de actualizar el .val() para campos de formulario para cada uno. Entiendo cómo hacer esto en una sola variable, que sólo sería la siguiente:

$.post("file.php", { file_id: $(this).val()}, function(data){ 
   $('#title').val(data);
}

Pero, ¿cómo puedo obtener los datos devueltos para ser reconocible en jQuery como variables independientes o como una matriz?

Gracias de antemano

¿Fue útil?

Solución

la documentación para $ .post . El cuarto parámetro es el tipo de datos. Es posible ajustar esta a JSON para los datos de la vuelta que se analizan en un objeto JavaScript o matriz.

$.post(
   "file.php", 
   { file_id: $(this).val() }, 
   function(data){ $('#title').val(data.title); $('#para').val(data.paragraph); },
   'json');

En el archivo archivo.php, se puede hacer algo como

<?php
$return_data=array('title'=>'Fishes Go To Market','paragraph'=>'Lots of stuff');

header('Content-Type: application/json');
echo json_encode($return_data);
exit();

Asegúrese de incluir la cabecera () para jQuery sabe que sus datos se supone que es JSON, y para el uso json_encode por lo que tiene el formato correcto.

Consulte los documentos href="http://php.net/manual/en/function.json-encode.php"> json_encode docs sobre encabezado . Recuerde que no se puede tener cualquier otra salida de venir antes de su cabecera () e imprimir los datos json_encoded, o la cabecera, así como el JSON no será válida.

Otros consejos

La forma más fácil es pasar de nuevo a los valores como JSON. Usted tendrá que convertir su matriz para JSON en el servidor (hay un montón de bibliotecas del lado del servidor disponibles para este ). Y modificar su método de .post() para devolver los datos como JSON mediante la adición de un cuarto parámetro como:

$.post("file.php", { file_id: $(this).val()}, function(data) { ... }, "json");

A continuación, puede rellenar sus variables tan fácilmente como:

$('#title').val(data.title);
$('#description').val(data.description);
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top