簡體   English   中英

Ajax方法不會在初始頁面加載時觸發

[英]Ajax method does not fire on initial page load

注意:閱讀此問題后,請參閱底部的編輯。

此問題僅在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的開頭添加一個正斜杠並在ajax調用中添加了type: "POST",來解決此問題。 我以前不知道為什么它能正常工作,但現在在我所有的嘗試中都能奏效。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM