如何在jQuery $ .get / ajax请求中获取请求URL

时间:2010-09-30 05:53:26

标签: javascript jquery

我有以下代码:

$.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

2 个答案:

答案 0 :(得分:48)

我无法让它在$.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

答案 1 :(得分:3)

由于jQuery.get只是jQuery.ajax的简写,另一种方法是使用后者的context选项,如documentation中所述:

  

所有回调中的this引用是在设置中传递给$.ajax的上下文选项中的对象;如果未指定context,则这是对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});