防止默认在Firefox中工作但不在Chrome中工作

时间:2014-01-06 12:25:25

标签: javascript php jquery

点击此链接

<a id="c2c" href="#" class='test' style="margin-left:300px;"><img src="img.png" height="400" width="480" alt="Click Here"></a>

我已经写了这段代码

$('#c2c').click(function(event){
    event.preventDefault();                     
        window.location.href = "http://google.com"; 
     $.get("test.php?testnum=121212121",function(data){
        if(data == "no") window.location.href = "failure.html";
        else {
               window.location.href = "http://www.abc.com/get_data.php?data="+data;
                     }              
});

点击此链接,我就是 1 - 预防默认行为
2 - 设置href位置
3 - 向某个参与者发送带有参数的获取请求 它们在FireFox中运行良好,但是当我在Chrome / opera中使用此代码时,它不是3- sending the get request,在错误控制台中我可以看到浏览器显示“请求已中止”。
任何帮助?

注意:据我调查,这是由于event.preventDefault();没有工作,如果我是对的那么我怎样才能使这个工作或者解决方案是什么?

2 个答案:

答案 0 :(得分:1)

你必须删除location.href:

('#c2c').click(function(event){
  event.preventDefault();                     
  // window.location.href = "http://google.com"; remove this line or move it somewhere in the response callback of your ajax request
  $.get("test.php?testnum=121212121",function(data){
    if(data == "no") {
      window.location.href = "failure.html";
    } else {
      window.location.href = "http://www.abc.com/get_data.php?data="+data;
    }              
});

Chrome会中止ajax请求,因为window.location.href =“http://google.com”;使浏览器加载google.com。 我不能给你一个完整的代码示例,因为我不确定你想要实现的目标

答案 1 :(得分:-4)

更改锚点href

href="#"

href="javascript:void(0);"