запретить работу по умолчанию в Firefox, но не в Chrome

0

Нажмите на ссылку

<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 а в консоли ошибок я вижу, что браузер показывает, что "Request Aborted".
Любая помощь?

ПРИМЕЧАНИЕ. Поскольку я исследую это из-за отсутствия работы event.preventDefault(); , Если я прав, то как я могу это сделать или что будет решением?

  • 2
    Вы меняете текущую страницу, а затем делаете запрос на получение? Ну, я полагаю, что Chrome просто прервал ваш запрос, потому что вы (пытаетесь) изменить страницу (поэтому ожидающие запросы бесполезны).
  • 1
    Я, почему это: window.location.href = "tel:1111111";
Показать ещё 11 комментариев
Теги:

2 ответа

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. я не могу дать вам полный образец кода, потому что я не уверен, чего вы пытаетесь достичь

-5

Измените привязку href

href="#"

в

href="javascript:void(0);"
  • 2
    Разве # не идеальный действующий href ? Я не думаю, что это его проблема.
  • 0
    Согласитесь, в этом нет никакой функциональной разницы, поскольку он явно вызывает preventDefault
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню