我有以下代码:
$.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
我有以下代码:
$.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
我无法在$.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){
}
});
jqXHR.success()
或 jqXHR.complete()
方法。ajax 的 回调选项 success
和 complete
没有 被弃用。 - Nick Johnsonsuccess
和complete
回调函数并未被弃用。 - Marcus Parsons既然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});