Async Ajax иногда не работает в Firefox - PullRequest
1 голос
/ 05 июля 2019

Асинхронные запросы ajax не работают в Firefox около 90% времени.10% времени это работает (при одинаковых условиях).Это работает в Chrome 100% времени.Также, если я обнаруживаю браузер и использую async: false для Firefox, он работает 100% времени.Я error_log в первой строке страницы php, на которую ссылается ajax.Это не отображается в журнале.Также нет ошибки в консоли, и функция ошибки ajax не выполняется.Ниже приведен пример, который работает, если он включает проверку для браузера, но не выполняет никаких других действий.

function myAjax(data) {
  console.log("called");
  isFirefox = typeof InstallTrigger !== 'undefined';
  $.ajax({
    type: "POST",
    url: 'confirm.php',
    async: !isFirefox,
    data:{action:'call_this', data: data},
    success:function(html) {
      alert(html);
    },
    error: function(jqXHR, exception) {
    var msg = '';
    if (jqXHR.status === 0) {
        msg = 'Not connect.\n Verify Network.';
    } else if (jqXHR.status == 404) {
        msg = 'Requested page not found. [404]';
    } else if (jqXHR.status == 500) {
        msg = 'Internal Server Error [500].';
    } else if (exception === 'parsererror') {
        msg = 'Requested JSON parse failed.';
    } else if (exception === 'timeout') {
        msg = 'Time out error.';
    } else if (exception === 'abort') {
        msg = 'Ajax request aborted.';
    } else {
        msg = 'Uncaught Error.\n' + jqXHR.responseText;
    }}
  });
  window.open("index.php","_self");
}

edit: функция вызывается при нажатии кнопки, «data» - строка.

<button id="confirm" onclick='myAjax("<?php  echo $data; ?>")'>Confirm </button>

нет запроса "POST" на вкладке сети Firefox

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...