Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在jQuery$.get/ajax请求中获取请求url_Javascript_Jquery - Fatal编程技术网

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

Javascript 如何在jQuery$.get/ajax请求中获取请求url,javascript,jquery,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 我无法让它在$.get()上工作,因为它没有complete事件 我建议像这样使用$.ajax() $.ajax({ url: 'http://www.e

我有以下代码:

$.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){
    }
});

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

所有回调中的
this
引用是在设置中传递给
$.ajax
的上下文选项中的对象;如果未指定上下文,则这是对Ajax设置本身的引用

所以你会用


调用get()方法时,需要传递url和参数。所以为什么不在回调函数中为完整的url构建一个字符串呢?太聪明了!我很惊讶这个.url在成功回调中不可用。在angularjs中有没有同样的方法?我不确定。。我不熟悉angularjs。。。你应该单独提出一个问题…@BennyNeugebauer答案不是使用相应的
jqXHR.success()
jqXHR.complete()
方法。ajax回调选项
success
complete
未被弃用。@BennyNeugebauer不正确。从jQuery版本3.4.1开始,jQuery
success
complete
回调未被弃用。谢谢。我的url帮助调试Rails中的表单提交错误。已使用MyResource controller的“新建”操作路径创建新资源。AJAX请求到自定义Rails控制器动作“change\u partial”的链接。在AJAX选项中,我使用了
type:'GET',url:'change\u partial',dataType:'html'
。单击称为后端控制器操作的链接,返回呈现的HTML部分。但提交表单时,验证错误呈现为“创建”路径,单击链接将导致错误。通过更改
url:“我的资源/更改部分”修复
$.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});