Je fais une requête via jQuery ajax à un gestionnaire générique .NET (.ashx).La requête jQuery ajax ne fonctionne que de façon synchrone, ne retourne pas en mode asynchrone.
Je renvoie JSON, que j'ai validé sur JSONLint, mais que je ne peux pas publier car ce sont des données sensibles.
Le problème est que l'appel ne retourne que lorsqu'il est fait de manière synchrone (async:false
). Lorsqu'il est fait de manière asynchrone, il ne revient jamais. async:false
appellera ma fonction de succès ainsi que toutes les fonctions globales. async:true
n'appellera que les fonctions globales ajaxStart
et ajaxSend
, async:false
les appellera ainsi que les autres.
Je ne sais pas très bien comment poursuivre le débogage ou déterminer pourquoi il n'y a pas de réponse.
$.ajax({
type: "POST",
async: false,
cache: false,
timout: 600000,
data: request_object.GetQueryString(),
dataType: "json",
responseType: "json",
error: function (request, error_type, error_message) {
alert("error");
},
success: function (data, status, request) {
alert("success");
},
url: "./ReportRequestHandler.ashx",
complete: function() {
alert("here");
}
});
$(document).ajaxError(function() {
alert("ajaxError");
}).ajaxSend(function() {
alert("ajaxSend");
}).ajaxStart(function() {
alert("ajaxStart");
}).ajaxStop(function() {
alert("ajaxStop");
}).ajaxSuccess(function() {
alert("ajaxSuccess");
}).ajaxComplete(function() {
alert("ajaxComplete");
});
erreur d'orthographe dans timeout .. aussi. vérifier dans le panneau net de firebug ou dans la console de chrome pour xhr demande afin que vous puissiez savoir quel est le problème –