2016-07-14 7 views
0

Hinweis: Bitte lesen Sie nach dem Lesen dieser Frage unten Bearbeiten.Ajax-Methode wird beim ersten Laden der Seite nicht ausgelöst.

Dieses Problem tritt nur in IE 11 auf und trat erst nach einem kürzlich durchgeführten Windows-Update auf. Es gab 5 Updates, von denen eines spezifisch für IE war, also habe ich dieses deinstalliert. Das Problem besteht jedoch weiterhin. Bevor ich in Betracht ziehe, die verbleibenden Updates rückgängig zu machen, ist in meinem Code etwas falsch? Hier finden Sie im Dokument bereit Funktion:

$('#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/' 
      } 
     } 
    }); 
}); 

Und das folgende ist die performListItemAction Methode (eine separate Funktion nicht in 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(); 

} 

Die Warnung geklickt nie angezeigt, wenn dieses Problem auftritt , und so kam ich zu dem Schluss, dass der Ajax-Anruf nicht funktioniert.

Ein paar andere Hinweise: Dieses Problem tritt bei Firefox nicht auf. Dies passiert nur, wenn ich mich direkt mit einer direkten URL auf der Seite anmelde. Wenn ich mich über den Startbildschirm der Anwendung anmelde und dann zu der Seite gehe, die das obige Javascript verwendet, tritt das Problem nicht auf.

Vielen Dank.

EDIT: Ich sehe gerade jetzt, dass das gleiche Problem jetzt auch in Firefox auftritt. Es ist nur viel seltener.

Antwort

0

Nach Versuch und Irrtum, ich denke, ich habe das Problem behoben, indem Sie einen Schrägstrich an den Anfang der einzelnen URLs hinzugefügt und die type: "POST", zum Ajax-Aufruf hinzugefügt. Ich weiß nicht, warum es vorher gut funktioniert hat, aber jetzt funktioniert das bei all meinen Versuchen.