2010-02-04 5 views
0

Je réalise un appel AJAX à l'aide de la fonction JSON de jQuery.Traitement de la réponse JSON

function get_words_json(address, username, paging_value) { 
$.ajax({ 
    type: "GET", 
    url: "json/" + address, 
    dataType: "json", 
    data: "username=" + username + "&paging_no_st=" + paging_value, 
    success: function(json){ 
    pop_word_list(json, paging_value); 
    } 
}); 
} 

Comme vous pouvez le voir, je vous envoie la réponse à une autre fonction JavaScript, mais ce que je voudrais faire est d'envoyer la réponse à PHP. Est-ce possible, disons de convertir directement la réponse en un tableau PHP (n'utilisant pas JavaScript) et ensuite utiliser PHP pour gérer le tableau, etc?

Merci d'avance.

+1

Pourquoi envoyer le client la valeur intermédiaire pour commencer? Fais tout sur le serveur. –

+3

D'une certaine manière, cela n'a pas de sens. Vous concattez votre serveur pour obtenir des valeurs au format JSON afin de les renvoyer à votre serveur (en tant que tableau) pour les traiter davantage? Pourquoi ne pas faire tout le traitement des données dans la première étape? –

+0

J'ai un diagramme ici: http://bit.ly/cwXKn7 Serait-il préférable d'utiliser une logique différente? – tim

Répondre

2

Vous pouvez effectuer un autre appel Ajax au script php dans la fonction success, en transmettant les données JSON en tant que paramètre POST.

+0

exactement ce que je souhaitais –

+0

Ceci est risqué, car l'utilisateur peut visiter une autre page pendant l'exécution du premier appel ajax, et donc le second 'pass' ne sera jamais exécuté car la réponse ne sera pas traitée par le client. Je ne suis pas sûr de compter sur le client .. –

+0

Je ne concerne pas la tâche si la réponse n'est pas traitée par le client, donc cela semble être une solution. Merci. – tim

0

le faire?

js (ajax) -> php (array conver to ajax) -> js (ajax) -> php ? 



function get_words_json(address, username, paging_value) { 
$.ajax({ 
    type: "GET", 
    url: "json/" + address, 
    dataType: "json", 
    data: "username=" + username + "&paging_no_st=" + paging_value, 
    success: function(json){ 
    json["paging_value"] = paging_value; 
    $.post("x.php", json); 
    } 
}); 
} 
0

L'idée ne colle pas ensemble du tout ... mais:

  1. S'il y a une raison de le faire - alors vous voulez faire le .post de $ ('phpfile .php ', json, function() {},' texte ou tout autre type que vous voulez en retour '); et l'ensemble de l'objet json va à PHP $ _POST [] comme suggéré ci-dessus, mais je ne peux voir aucun cas où cela devrait être fait de cette façon.

  2. Si vous obtenez que JSON un code Vous ne pouvez pas changer et que vous souhaitez utiliser des données en php faire:

    • CURL pour obtenir les données d'une autre chose
    • utilisation json_decode (données $ , true) pour obtenir la table assoc de la chose
  3. Si vous ne savez pas ce que vous faites

    :)
    • juste passer l'objet à une autre fonction sans inutile d'envoyer des choses avant et en arrière. Vous pouvez faire un appel AJAX vide pour déclencher le fichier php, rien de plus.