2009-05-28 6 views
0

Merci pour toutes les bonnes réponses, cela aide beaucoup!jquery et PHP - Envoi d'informations de php au JS


Bonjour, je besoin d'un conseil/aide (évidemment)

Je suis assez nouveau pour jquery/ajax en général, mais je suis en mesure de faire un peu jusqu'à présent. Voici ce que j'essaie de faire et ce que j'ai réussi à faire jusqu'ici. J'essaie d'émuler les catégories de postes wordpress. Lorsque vous rédigez un message, puis lorsque vous souhaitez l'ajouter à une catégorie, il vous suffit de créer de nouvelles catégories de cases à cocher sur place!

J'ai réussi à faire en sorte que j'aie envoyé la requête à un script php et il ajoute l'enregistrement à ma base de données puis il ajoute la nouvelle case au bas de ma liste. Le problème que j'ai, c'est que je dois retourner les deux valeurs de PHP, l'ID et le nom. En ce moment je peux retourner le nom mais je ne suis pas sûr de savoir comment les renvoyer séparément afin que je puisse les manipuler dans le JS.

Il se peut que je m'y prenne complètement à tort. L'idée est que je créerais les nouveaux enregistrements de catégorie et que je les ajouterais à la liste des catégories en utilisant JS, puis je les cocherais et quand je clique sur "enregistrer" les valeurs (IDs) seraient envoyées à la ligne courante (post) dans la DB.

J'espère que j'ai du sens. Si vous avez des questions s'il vous plaît demander loin et si vous avez des idées ou des réponses s'il vous plaît faites le moi savoir!

Merci!

Répondre

3

Essayez de renvoyer le texte au format JSON. Selon la méthode jQuery AJAX que vous utilisez, vous pouvez définir un rappel personnalisé (une fonction qui est appelée après le retour de la première fonction).

Par exemple, si vous utilisez la méthode .post $ que vous pourriez faire quelque chose comme ceci:

backend.php:

$return_value = array(); 
$return_value['value1'] = 'data 1'; 
$return_value['value2'] = 'data 2'; 
echo json_encode($return_value); 

frontend.js:

$.post("backend.php", '', 
    function(data) { 
     alert(data.value1); // Would show data 1 
     alert(data.value2); // Would show data 2 
}, "json"); 
0

Eh bien, j'ai une idée de ce que vous essayez de faire:

Jusqu'à présent, vous retournaient l'ID de la catégorie nouvellement créée en php du texte brut au javascript appelant.

Maintenant, vous voulez retourner à la fois l'ID et le nom de la catégorie nouvellement créée.

Il existe deux façons de procéder: en utilisant XML ou JSON. (Sur peut faire valoir qu'il ya plus de moyens et indded, il y a..)

en XML:

<response> 
    <ID>2</ID> 
    <NAME>jquery</NAME> 
</response> 

JSON:

{ 
    id : 2, 
    name : "jquery" 
} 

analyse syntaxique JSON en javascript est une mince affaire. L'analyse XML peut être effectuée à l'aide de jQuery, il suffit de rechercher les documents ajax de jQuery.

Cheers,

jrh.

+0

Pour de simples cas JSON est meilleur. XML est préférable lorsque vous planifiez des intercommunications entre des ressources sur Internet. comme l'application client-serveur. – Jet

0

La méthode la plus courante pour renvoyer des valeurs est d'utiliser une chaîne JSON JSON wikipedia

puis faire

var p = eval(response.txt); 
alert(p.var1); 
alert(p.var2); 
0

En supposant $id et $name sont les valeurs que vous souhaitez retourner:

<?php 

$id = 2; 
$name = "jquery"; 

echo json_encode (array("id" => $id, "name" => $name)); 

?> 

Ensuite, utilisez l'une des autres réponses pour manipuler ces valeurs dans Javascript.