ajax被发送,但回调函数被忽略

所以这是我的功能

function ajax(addr,loading, loadTo, json){
        addr = addr.replace(' ', '');
        if (loading){
                $("#"+loading).fadeIn();
        }

        if (json){
                $.getJSON(addr, function(data){
                        alert('whoooo working'); // <--- it never goes here
                        if (loading){
                                $("#"+loading).fadeOut();
                        }
                        procJSON(data);
                });
                return true;
        }
}

我打电话给它

var postid = $(this).attr('data-postid');
ajax(url+'tools/delete/'+postid, 'loading'+postid, false, true);

ajax被发送,图像(加载图像)被显示,但回调函数从不被调用。

这不就是那个IE大名单的新保留值吗? 是的,我知道,IE浏览器不是一个有效的浏览器,但我不能责怪我的客户


由于它在特定浏览器中失败,很可能它是响应中的意外标题的组合,以及浏览器如何基于此处理数据。

例如,如果响应的内容类型为text/html而不是application/json ,那么浏览器可能会尝试将响应内容转换为HTML文档(通过在其周围添加pre标记),这会导致JSON解析失败。

如果您使用$.ajax方法,您还可以捕获任何错误消息,这将为您提供有关正在发生的事情的线索:

$.ajax({
  url: addr,
  dataType: 'json',
  success: function(data){
    alert('whoooo working'); // <--- it never goes here
    if (loading){
      $("#"+loading).fadeOut();
    }
    procJSON(data);
  },
  error: function(o,c,m) { alert(m); }
});
链接地址: http://www.djcxy.com/p/46099.html

上一篇: ajax is sent but callback function is ignored

下一篇: jQuery JSON Parsing Error