当async:false时,Ajax beforeSend仅在chrome浏览器上发布

时间:2014-12-29 12:32:52

标签: javascript jquery ajax google-chrome

我做了一个小的ajax函数,它返回从服务器收到的json对象,我在firefox上检查了这个函数,operamini,工作正常,在将数据发布到服务器的过程中,我能看到微调图像,但是google chrome我可以'在发布时看到微调器,asyncfalse时,如果我async : true,我可以看到微调器。

有人可以告诉我相同的解决方案,我的脚本中的所有函数都工作正常,除了仅在chrome上的微调器。

我可以添加任何更多的东西来显示spinner的chrome到现有的功能?留给我的唯一方法是修改函数,因为我的脚本中的许多其他函数都调用了这个函数,这个函数也很长。如果有人能为我提供替代解决方案,我会很高兴。

Chrome:版本28.0.1500.71 Ubuntu 12.04(28.0.1500.71-0ubuntu1.12.04.1)

jQuery v2.1.3

这是我的功能

function _get_data(options) {
      var result={};
      $.ajax({
              url   : options.url,
              async : false,  
              cache : false,
              data  : options.data,
          beforeSend: function() {
                       $(options.before.element).html(options.before.html);
              },
             method : "POST",
           dataType : "json",
             success:function(data) {
                       result = data; 
              }
            });
     return result;
  }

这就是我所说的

  var my_data = _get_data({ 
                url    :'http://dba.org/test',
                before : { 
                        element : "#loading", 
                        html    : '<img class="loader" src="data:image/png;base64,iVBORw0KGgoAAAANSUhE ... somemore"/>' 
                     },
                data   : { firefox : true, chrome : false } 
            });

如果有人在这里得到解决方案,请分享

提前致谢,

祝你新年快乐..

0 个答案:

没有答案