Как получить URL запроса в запросе jQuery $ .get / ajax

У меня есть следующий код:

$.get('http://www.example.org', {a:1,b:2,c:3}, function(xml) {}, 'xml');

Есть ли способ получить URL-адрес, используемый для выполнения запроса после того, как запрос был сделан (в обратном вызове или иным образом)?

Я хочу вывод:

http://www.example.org?a=1&b=2&c=3
 Vikas30 сент. 2010 г., 08:02
Когда вы вызываете метод get (), вам нужно передать url и параметр. Так почему бы вам не создать строку для полного URL в функции обратного вызова?

Ответы на вопрос(2)

другим способом было бы использовать последнийcontext вариант, как указано вдокументация:

this ссылка во всех обратных вызовах - это объект в параметре контекста, переданный$.ajax в настройках; если контекст не указан, это ссылка на сами настройки Ajax.

Так что вы бы использовать

$.ajax('http://www.example.org', {
  dataType: 'xml',
  data: {'a':1,'b':2,'c':3},
  context: {
    url: 'http://www.example.org'
  }
}).done(function(xml) {alert(this.url});
 Luke Schoen26 сент. 2016 г., 07:40
Благодарю. Я URL помог отладить мою ошибку отправки формы в Rails. Новый ресурс был создан с «новым» путем действия контроллера MyResourceлокальный: 3000 / My_Resource / новый, Ссылка сделала AJAX-запрос на пользовательское действие контроллера Rails 'change_partial'. В опциях AJAX я использовалtype: 'GET', url: 'change_partial', dataType: 'html', Нажатие на ссылку вызвало действие контроллера бэкенда, возвращая частично обработанный HTML. Но отправка формы с ошибками валидации вызвала путь созданиялокальный: 3000 / My_Resource, и нажатие на ссылку вызвало ошибки. Исправлено изменениемurl: 'my_resource/change_partial'
Решение Вопроса

$.get() потому что это не имеетcomplete событие.

Я предлагаю использовать$.ajax() как это,

$.ajax({
    url: 'http://www.example.org',
    data: {'a':1,'b':2,'c':3},
    dataType: 'xml',
    complete : function(){
        alert(this.url)
    },
    success: function(xml){
    }
});
демо-версия
 Reigel07 июл. 2015 г., 04:02
Я не уверен .. Я не знаком с angularjs ... Вы должны сделать отдельный вопрос об этом ...
 Christopher01 окт. 2010 г., 07:00
Такой умный! Я удивлен this.url не доступен в обратном вызове успеха
 Jahongir Rahmonov06 июл. 2015 г., 13:25
Есть ли способ сделать то же самое в angularjs?
 Benny Neugebauer20 июл. 2015 г., 14:08
Начиная с jQuery 1.5 методыsuccess а такжеcomplete устарели. Вы должны использоватьdone а такжеalways, Ссылка:api.jquery.com/jquery.ajax/#jQuery-ajax-settings
 Nick Johnson20 авг. 2015 г., 11:34
@BennyNeugebauer ответ не использует соответствующийjqXHR.success() или жеjqXHR.complete() методы. Аяксварианты обратного вызова success а такжеcomplete являютсяне осуждается.

Ваш ответ на вопрос