2016-07-14 2 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, проблема не возникает.

спасибо.

EDIT: Теперь я вижу, что эта же проблема возникает и в Firefox. Это намного реже.

ответ

0

После проб и ошибок, я думаю, я исправил проблему, добавив косую черту в начало каждого из URL-адресов и добавив type: "POST", к вызову ajax. Я не знаю, почему он работал хорошо раньше, но теперь это работает во всех моих попытках.

Смежные вопросы