Ajax方法在初始页面加载时不会触发

问题描述:

注意:请阅读此问题后,请参阅底部的编辑。Ajax方法在初始页面加载时不会触发

此问题仅在IE 11中发生,并且只在最近的Windows更新后才开始发生。有5个更新,其中一个是针对IE的,所以我卸载了那个。但是,这个问题依然存在。在考虑回滚剩余的更新之前,我的代码中是否存在固有的错误?以下是文件准备函数内部:

$('#leftmenu>li').click(function() { 
    var clickedId = this.id; 

    $.ajax({ 
     url: "Session/Index/", 
     cache: false, 
     success: function (result) { 
      if (result.length > 0) 
      { 
       performListItemAction(clickedId); 
      } 
      else 
      { 
       window.location.href = 'Home/Index/' 
      } 
     } 
    }); 
}); 

而下面是performListItemAction方法(一个独立的函数不是的document.ready):

当这种问题发生
function performListItemAction(item) 
{ 
    alert("clicked"); 

    $(".tabui").each(function() 
    { 
     $(this).hide(); 
    }); 

    $(".listitem").each(function() 
    { 
     $(this).css("background", "transparent"); 
    }); 

    $(document.getElementById(item)).css("background-color", "#C8C8C8"); 
    var targetId = $(document.getElementById(item)).data('target'); 
    var target = $(document.getElementById(targetId)); 
    target.show(); 

} 

警报点击永远不会出现,这就是我的结论ajax调用不起作用。

其他一些注意事项: Firefox上没有发生此问题。 只有当我直接用直接URL登录到页面时,才会发生这种情况。如果我通过应用程序的主屏幕登录,然后转到使用上述JavaScript的页面,则不会发生此问题。

谢谢。

编辑:我刚才看到,同样的问题现在发生在Firefox以及。它只是少得多。

经过反复试验,我认为我通过在每个URL的开头添加正斜杠来解决问题,并将type: "POST",添加到ajax调用中。我不知道为什么它以前工作正常,但现在这在我所有的尝试中都有效。