Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.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
锚定点击和jQuery不在FF和Safari中工作,但在Chrome中工作,为什么?_Jquery_Ajax_Google Chrome_Firefox_Safari - Fatal编程技术网

锚定点击和jQuery不在FF和Safari中工作,但在Chrome中工作,为什么?

锚定点击和jQuery不在FF和Safari中工作,但在Chrome中工作,为什么?,jquery,ajax,google-chrome,firefox,safari,Jquery,Ajax,Google Chrome,Firefox,Safari,问题 非常简单:除了锚定标记的正常单击功能之外,如果锚定被单击,我想发出一个ajaxGET请求(在我的示例中,属性为classvaluefire) 重要:锚定的目标(href)和Ajax调用的目标在目标url中具有相同的域 jQuery代码示例: $(document).ready(function() { $('.fire').click(function() { $.get( "http://example.com/rest/fire/"); }); }); HTML代码示

问题
非常简单:除了锚定标记的正常单击功能之外,如果锚定被单击,我想发出一个ajax
GET
请求(在我的示例中,属性为
class
value
fire

重要:锚定的目标(href)和
Ajax
调用的目标在目标url中具有相同的域

jQuery代码示例:

$(document).ready(function() {
  $('.fire').click(function() {
    $.get( "http://example.com/rest/fire/");
  });
});
HTML代码示例:

<a href="http://example.com/index.html" class="fire">Click here</a>

您需要阻止链接的默认操作

找到解决方案(2014年10月28日更新)
它在Safari和Firefox中不起作用,因为
$.get()
在默认情况下使用异步模式(正如我最初希望的那样)。但是,如果目标域与
锚定标记的URL相同,Firefox和Safari似乎忽略了
$.get()
。因此,为了使其工作,您必须同步地进行ajax调用

更新jQuery代码(现在也适用于Firefox和Chrome):


但我仍然相信这是Firefox和Safari中的一个bug,它也应该在异步模式下工作。问题的根本原因很可能是基于浏览器中的实现,它们如何建立到单个域的连接(通过一个连接多路复用,多个非多路复用连接?)。。。也许有人知道?

谢谢@Clayton,我会测试它并给出一些反馈。当然,我希望两者都能起作用:发送ajax并打开新链接……嗨@Clayton,这不起作用。它只触发AJAX请求。正常的锚定单击不再起作用。我需要一个同时执行两个请求的解决方案。
$(document).ready(function() {
  $('.fire').click(function() {
    $.ajax({    
      url: "http://example.com/rest/fire/" ,
      async: false
    });
  });
});
$(document).ready(function() {
    $('.fire').click(function(e) {
        $.get("/test");
        e.preventDefault();
    });
});
$(document).ready(function() {
  $('.fire').click(function() {
    $.ajax({    
      url: "http://example.com/rest/fire/" ,
      async: false // needed for Safari and Firefox
    });
  });
});