javascript - 'delete' 的 Ajax 成功回调未在 Firefox 中触发

标签 javascript jquery ajax firefox callback

我有一个测试页面使用 Ajax 向服务器发出 http“删除”请求。以下 JS 代码在 IE7 中按预期工作,但在 Firefox 中不起作用(除非我将 ajax 调用设为异步)。

在 Firefox 中,除非 async 为 false,否则错误回调会以状态 0 触发。

  1. 如果调用是同步的,谁能协助解释为什么这在 Firefox 中显然有效?
  2. 在此页面的上下文中,同步调用不是坏事,但我读到应该避免这种情况,因为这会有效地卡住浏览器窗口,直到响应返回。有任何人可以建议的替代解决方案吗?

相关代码如下:-

<script src="${url.context}/scripts/jquery-1.3.2.min.js"></script>

<SCRIPT LANGUAGE="JavaScript">

jQuery.noConflict();

function deleteImage(nodeParam) {
      alert('hello');
      var options = {
        type: 'DELETE',
  async: false,
        url: '${url.context}/service/api/asset/delete?alf_ticket=${session.ticket}'+'&format=text'+'&'+nodeParam,
        dataType: 'json',
        success: function(data, textStatus) {
          jQuery('#result-div').html('');
          if (data['ok'] == true) {
            //jQuery('#result-div').html('Delete successful using parameter - ' + nodeParam);
            alert("Delete successful" );
          } else {
            alert( "Response 'ok' set to 'false' on success callback!" );
            jQuery('#result-div').html('Delete failed!');
          }
        },
        error: function (request, textStatus, errorThrown) {
          //jQuery('#result-div').html('Delete failed!');
    alert("Delete Failed");
    alert(request.status);
          //alert("Error callback triggered, request failed with status: " + request.status + ' ' + request.responseText);
        }
      };
      jQuery.ajax(options);
}
// End -->
</script>

谢谢 J

最佳答案

Firefox 不会为同步请求调用 onreadystatechange,因此 jQuery 可能因此无法调用您的自定义回调。否则发出同步请求通常是个坏主意。

关于javascript - 'delete' 的 Ajax 成功回调未在 Firefox 中触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3297741/

相关文章:

javascript - 使用 CKEditor 配置 Bootstrapvalidator

javascript - 如何排除某些链接上的 JQuery/Javascript 淡入淡出功能?

javascript - jqGrid : open a customised form on click of 'Edit' button and after edit refresh that row

javascript - 关闭舍入数字 jquery ajax

javascript - 如何在 React 中使用 javascript 模块对象(HTML + JS 嵌入)

javascript - 使用 d3 和 topojson 绘制 map

javascript - 如何从 Spring MVC Controller 将数据传递到浏览器 JavaScript

javascript - 如何在 html 中的 select(Multiple) 的指定索引处插入选项?

javascript - 如果 JQuery AJAX 不存在则加载 Html 内容

javascript - 尝试通过 (jQuery)ajax 调用加载 Google 图表