J'ai ce morceau de codeAjax ne pas exécuter de manière asynchrone
function getMesssages(id,c) {
function waitForServerCall(id,c) {
$.get(href("~/polling/" + id), function (response) {
var r = c(response);
if (r) {
return false;
}
waitForServerCall(id);
});
}
waitForServerCall(id,c);
$.post(href("~/batch/export/?batches=3344&pollid=" + id), function (response) {
c(response);
cancelCall = true;
});
}
Le $.get dans la méthode waitForServerCall
obtenir seulement exécuter lorsque l'$.post recive la réponse du serveur. Pourquoi?
C'est le ajaxSettings:
accepts: Object
async: true
contentType: "application/x-www-form-urlencoded; charset=UTF-8"
contents: Object
converters: Object
flatOptions: Object
global: true
isLocal: false
jsonp: "callback"
jsonpCallback:()
processData: true
responseFields: Object
type: "GET"
url: "http://localhost:59161/"
xhr: In()
__proto__: Object
mise à jour. Ce que je fais est longue interrogation, la demande de poste est un processus de longue durée donc j'ai besoin de connaître certains événements que le serveur va déclencher, la méthode waitForServerCall informer le client sur les événements qui se sont produits. Mais puisque la méthode $ .get s'exécute une fois que la réponse $ .post est recive, le processus de notification ne fonctionne pas.
Mise à jour 1: Im utilisant .NET 4.0 et Jquery 1.9.1.
Oui, la requête $ .get est exécutée en premier mais pas la réponse est recive jusqu'à ce que $ .post obtienne la réponse. Une fois que $ .post a reçu la réponse, $ .get s'exécute correctement. Mais je m'attends à ce que $ .get obtienne la réponse du serveur même si $ .post n'a pas encore reçu de réponse.
S'il vous plaît décrire ce comportement que vous essayez d'atteindre. Vous essayez de décrire un problème, mais ne dites pas vraiment comment vous voulez qu'il fonctionne. De plus, il semble que vous ayez une erreur après avoir appelé 'waitForServerCall (id);' parce que vous ne passez pas le second argument. – jfriend00
Comment le savez-vous? Les symptômes décrits n'ont pas de sens. Ressemble plus à un cas de code fait ce qui est écrit mais pas ce que vous attendiez – charlietfl
Lire la mise à jour s'il vous plaît – Misters