2015-09-16 2 views
-3

У меня проблема с jQuery. Когда я загружаю изображение в Chrome, он успешно выполняет AJAX, и я могу обновить страницу с данными ответа. Но в IE 11 и Firefox это не так. Код:jQuery не работает в IE11, но работает в Chrome

$(".newfoto").on('submit', (function(e) { 
    $("#mailresult").html('<img src="themes/standart/iconss/spin1.gif" alt="loading..." /><p>Please, wait...</p>'); 
    e.preventDefault(); 
    $.ajax({ 
     url: "dataok.php?act=foto", 
     type: "POST", 
     data: new FormData(this), 
     contentType: false, 
     cache: false, 
     processData: false, 
     success: function(data) { 
      $("#mailresult").html(data); 
      setTimeout(function() { 
       $("#mailresult").empty(); 
      }, 2000); 
      var imgTag = '<img src="image.php?imgid=' + escape($('.myphoto').attr('id')) + '" />'; 
      $('.myphoto').html(imgTag); 
     }, 

     error: function() {} 

    }); 
})); 
+0

Отформатируйте свой код соответствующим образом, чтобы сделать его доступным для чтения. Вам нужно как правильное отступы, так и избавиться от двойного интервала. – jfriend00

+0

@ jfriend00, который двойной интервал? Я не мог понять. извините –

+0

Код в вашем вопросе имеет пустую строку между почти каждой фактической строкой кода. – jfriend00

ответ

1

правильный способ предотвратить форму от отправки и перезагрузки страницы, чтобы использовать return false; в конце функции представить. Это также заменит e.preventDefault(); в вашем коде.

Также FormData не поддерживается во всех браузерах. См. https://stackoverflow.com/a/2320097/584192. Возможно, вам придется обнаружить и обходным путем.

$(".newfoto").on('submit', function(e) { 
    $("#mailresult").html('<img src="themes/standart/iconss/spin1.gif" alt="loading..." /><p>Please, wait...</p>'); 
    $.ajax({ 
     url: "dataok.php?act=foto", 
     type: "POST", 
     data: (typeof FormData === 'function') ? new FormData(this) : $(this).serialize(), 
     contentType: false, 
     cache: false, 
     processData: false, 
     success: function(data) { 
      // success 
     }, 
     error: function(jqXHR, status, error) { 
      console.log(error); 
     } 
    }); 
    return false; 
}); 
+0

спасибо, но это не помогло, –

+0

var imgTag = ''; $ ('. Myphoto') .html (imgTag); // Проблема в этих строках. Может быть, я могу изменить его, но как? –

Смежные вопросы