2010-12-10 5 views
0

Je voudrais avoir une fonction qui renvoie le repsonseText d'un appel jQuery.ajax(). Tous les exemples que j'ai vus disent d'utiliser une fonction 'succès' pour gérer les données retournées. Cependant, pour ma mise en œuvre, je besoin de quelque chose comme suit:Besoin de la responseText de jQuery.ajax retourné au lieu d'utiliser la fonction 'succès'

function getRemoteValue(id) { 
    var request = jQuery.ajax({ 
    url:'somefile.php', 
    dataType:'text' 
    }); 
    return request.responseText; 
} 

Quand je fais un appel à cette fonction, Firebug montre la demande en passant par retourné avec la réponse correcte. Cependant, lorsque je tente ce qui suit, je reçois seulement une chaîne vide:

var some_value = getRemoteValue(1); // The problem is here. some_value is empty. 
jQuery('.someclass').html(some_value); 
// Other processing using some_value; 

Encore une fois, pour ma mise en œuvre, je ne peux pas être en train de faire le jQuery html (some_value); (» UneClasse.). dans l'appel ajax(). Comment puis-je obtenir le responseText retourné? Je vous remercie!

+0

Je voudrais vérifier cela http://stackoverflow.com/questions/3732258/why-can-i-not-return-responsetext-from-an-ajax-function –

+0

Merci pour le lien. L'ensemble "asynchrone" ne s'enfonçait pas au début :) – robertwbradford

Répondre

1

Rober,

Le code suivant est valide, mais renvoie null

var some_value = getRemoteValue(1); 

L'appel ajax est appel asyncronous, il instancie tout le processus se poursuit, de sorte que vous aurez toujours ce problème

Vous devez déplacer votre code vers votre gestionnaire de succès d'ajax pour effectuer des opérations de post.

Questions connexes