Dans jQuery, utiliser ajaxSend pour prévisualiser l'URL construite par l'appel $ .post
Question
Comment puis-je construire mon appel ajaxSend, cela semble être l'endroit idéal pour le poser, pour prévisualiser ce qui est renvoyé au courtier? De plus, puis-je arrêter l'appel ajax dans ajaxSend? .. afin de perfectionner ma chaîne d'URL avant de traiter les erreurs du courtier?
Il s'agit de l'URL complète qui, lorsqu'elle est transmise au courtier, renverra le code JSON dont j'ai besoin:
http://myServer/cgi-bin/broker?service=myService&program=myProgram§ion=mySection&start=09/08/08&end=09/26/08
Ceci est mon appel $ .post (vous n'êtes pas sûr qu'il crée la chaîne d'URL ci-dessus)
$(function() {
$("#submit").bind("click",
function() {
$.post({
url: "http://csewebprod/cgi-bin/broker" ,
datatype: "json",
data: {
'service' : myService,
'program' : myProgram,
'section' : mySection,
'start' : '09/08/08',
'end' : '09/26/08'
},
error: function(request){
$("#updateHTML").removeClass("hide") ;
$("#updateHTML").html(request.statusText);
},
success: function(request) {
$("#updateHTML").removeClass("hide") ;
$("#updateHTML").html(request) ;
}
}); // End post method
}); // End bind method
}); // End eventlistener
Merci
La solution
Un moyen simple de prévisualiser la requête HTTP envoyée est d'utiliser Firebug pour Firefox. Téléchargez et activez le plug-in. Lorsque la demande est faite, il apparaît dans la console Firebug.
Autres conseils
API / 1.2 / Ajax contient des informations sur la manière de lier des événements AJAX.
// Hook into jQuery's ajaxSend event, which is triggered before every ajax
// request.
$(document).ajaxSend(function(event, request, settings) {
// settings.data is either a query string like "id=1&x=foo" or null
// It can be modified like this (assuming AUTH_TOKEN is defined eslewhere)
settings.data =
((settings.data) ? settings.data + "&" : "") +
"authenticity_token=" + encodeURIComponent(AUTH_TOKEN);
});