javascript ({ - Accéder à l'URL d'une requête jQuery Ajax dans la fonction de rappel




3 Answers

Définir un point de rupture dans la méthode de succès, puis regarder

this.url

est la vraie url pour la demande.

type post

Y at-il un moyen que je peux voir l'URL qui a été demandée lorsque je fais une requête Ajax avec jQuery?

par exemple,

var some_data_object = { ...all sorts of junk... }
$.get('/someurl.php',some_data_object, function(data, textStatus, jqXHR) {
   var real_url = ? # <-- How do I get this
})

Comment puis-je accéder à l'URL que jQuery a réellement utilisée pour faire la demande? Peut-être une méthode / propriété de jqHXR ? Je ne pouvais pas le trouver dans la documentation.

Merci.




En utilisant $.ajaxPrefilter :

// Make sure we can access the original request URL from any jqXHR objects
$.ajaxPrefilter(function(options, originalOptions, jqXHR) {
  jqXHR.originalRequestOptions = originalOptions;
});

$.get(
  'http://www.asdf.asdf'
).fail(function(jqXHR){
  console.log(jqXHR.originalRequestOptions);
  // -> Object {url: "http://www.asdf.asdf", type: "get", dataType: undefined, data: undefined, success: undefined}
});

http://api.jquery.com/jQuery.ajaxPrefilter/




Je ne pouvais pas le trouver dans les docs non plus. Peut-être juste l'ajouter à l'objet jqXHR via un wrapper "proxy" comme ...

Je n'ai pas testé cela, donc vous devrez peut-être appeler $.param() et concat à l'url. Voir http://api.jquery.com/jQuery.param/

var myGet = function(url, data, success) {
    $.get(url, data, function(data, textStatus, jqXHR) {
       jqXHR.origUrl = url; // may need to concat $.param(data) here
       success(data, textStatus, jqXHR);
    });
}

usage:

var some_data_object = { ...all sorts of junk... }
myGet('/someurl.php',some_data_object, function(data, textStatus, jqXHR) {
   var real_url = jqXHR.origUrl;
})



Related

javascript jquery ajax