2009-11-26 3 views
0

JS:

function ajax_post_var(url, event_id) 
{ 
var info = $.post(url).responseText; 
alert(info); 
if (event_id == '1') 
{ 
    do something with info... 
} 
...more if's here... 
} 

ajax_post_var('http://www.website.com/a.php', 1); 

a.php affiche le texte TEST;

Pourquoi informations ... show non définie Je voudrais être en mesure utiliser la valeur renvoyée pour quelque chose d'autre.

Répondre

3

Essayez ceci:

function ajax_post_var(url, event_id) 
{ 
    $.post(url, function(info) 
    { 
    alert(info); 
    if (event_id == '1') 
    { 
     //do something with info... 
    } 
    // ...more if's here... 
    }); 
} 

ajax_post_var('http://www.website.com/a.php', 1); 

Je ne sais pas pourquoi vous utilisez .post $ et .get $ à cette fin. Par défaut, les requêtes AJAX sont asynchrones. Par défaut, les requêtes AJAX sont asynchrones. Cela signifie que l'appel à $ .post() ne retournera pas une valeur immédiatement. La façon de faire de telles choses est d'utiliser des fonctions de rappel.

Voir ci-dessous pour plus d'informations:
http://docs.jquery.com/Ajax

+0

Merci ... Est-ce que continuer à l'utiliser comme ça. Je pensais que peut-être l'autre façon devrait fonctionner ... Mais je suppose qu'il n'a pas encore eu la valeur et il est funk ... Pour utiliser POST au lieu de GET c'est parce que les gens peuvent cliquer sur le même lien encore et encore , POST ne cache pas les résultats mais GET fait ... Sur certains navigateurs de toute façon il semble. Il va de ON à OFF ... Mais avec GET, il reste toujours le même pour une raison quelconque. –

0
function ajax_post_var(url, event_id) { 
    $.post(url, function(data, textStatus) { 
     alert(textStatus); 
     if (event_id == '1') { 
       //do something with this... 
     } 
     // ...more if's here... 
    }); 
} 
ajax_post_var('http://www.website.com/a.php', 1);