Как получить 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
Ответы
Ответ 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){
}
});
Ответ 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});