2010-03-17 7 views
1

Le codecommence à utiliser jquery

uri = 'http://www.test.com/'; 
$.ajax({ 
    url: uri, 
    success: function(msg){ 
     sc.searchcontents = msg; 
     alert(sc.searchcontents); 
    } 
}); 
alert(sc.searchcontents); 

alertes non défini, alerte alors le code source de la page.

Répondre

1

la fonction de réussite ajax court après charge. Cependant, le javascript sur votre page continuera pendant que ajax charge son URL. l'alerte que vous voyez en premier est celle en dehors de votre appel ajax (indéfini) et celle de l'appel ajax (code source). Pour tester, essayez de mettre un retard dans celui à la fin de votre échantillon de code. vous verrez ce que je veux dire.

0

Comment déterminez-vous que cela fonctionne ou échoue?

Quels sont les messages d'erreur que vous recevez?

Avez-vous lu le jQuery Ajax Documentation?

Pour vous aider à deterine ce qui se passe, essayez d'ajouter une fonction error:

uri = 'http://www.test.com/'; 
$.ajax({ 
    url: uri, 
    success: function(msg){ 
     sc.searchcontents = msg; 
     alert(sc.searchcontents); 
    } 
    error: function(XMLHttpRequest, textStatus, errorThrown) { 
     alert(errorThrown); 
    } 
}); 
+0

Si je peux voir le code source d'une page alerté, l'appel ajax a fonctionné. Si je ne peux pas, ça a échoué. –

+0

J'ai mis à jour la question. Tout a changé. S'il te plait reviens! –

+0

Je suis encore moins sûr de ce que vous voulez de la publication. Avez-vous essayé d'ajouter la fonction d'erreur comme je l'ai stipulé ci-dessus. J'ai changé mon code pour incorporer le vôtre –

1

La deuxième zone d'alerte est appelée avant que l'ajax soit terminé car l'appel ajax est asynchrone par défaut. Ajoutez la clause async: false et cela devrait résoudre votre problème.

Questions connexes