Подтвердить что ты не робот

Как получить 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
4b9b3361

Ответ 1

Я не могу заставить его работать с $.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){
    }
});

craz demo

Ответ 2

Так как jQuery.get является просто сокращением для jQuery.ajax, другим способом будет использование последней опции 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});