2016-07-14 142 views
0

注意:請閱讀此問題後,請參閱底部的編輯。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以及。它只是少得多。

回答

0

經過反覆試驗,我認爲我通過在每個URL的開頭添加正斜槓來解決問題,並將type: "POST",添加到ajax調用中。我不知道爲什麼它以前工作正常,但現在這在我所有的嘗試中都有效。

相關問題