En jQuery, usando ajaxSend para obtener una vista previa de la URL creada por la llamada $.post
Pregunta
¿Cómo puedo construir mi llamada ajaxSend? Este parece ser el lugar para colocarla, para obtener una vista previa de lo que se pasa al corredor.Además, ¿puedo detener la llamada ajax en ajaxSend? ... ¿para poder perfeccionar mi cadena de URL antes de lidiar con los errores del corredor?
Esta es la URL completa que, cuando se pasa al corredor, devolverá el código JSON que necesito:
http://myServer/cgi-bin/broker?service=myService&program=myProgram§ion=mySection&start=09/08/08&end=09/26/08
Esta es mi llamada $.post (no estoy seguro de que esté creando la cadena de URL anterior)
$(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
Gracias
Solución
Una forma sencilla de obtener una vista previa de la solicitud HTTP que se envía es utilizar insecto de fuego para Firefox.Descargue y habilite el complemento, y cuando se realice la solicitud, aparecerá en la consola de Firebug.
Otros consejos
API/1.2/Ajax tiene información sobre cómo vincularse a eventos 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);
});