异步Ajax有时在Firefox中不起作用

时间:2019-07-05 13:06:04

标签: jquery ajax firefox

异步ajax请求在Firefox中约有90%的时间无效。 10%的时间有效(在看似相同的条件下)。它确实有100%的时间在Chrome中运行。另外,如果我检测到浏览器并使用async:false(对于Firefox),则100%的时间有效。 我在ajax引用的php页面的第一行上输入了error_log。它不会显示在日志中。控制台中也没有错误,并且没有执行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");
}

编辑: 按下按钮时会调用函数,“ data”是字符串。

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

firefox的“网络”标签中没有“ POST”请求

0 个答案:

没有答案