Ajax-запрос не работает в IE с jQuery - PullRequest
0 голосов
/ 10 июля 2011

Мы сталкиваемся со специфической проблемой того, что ajax-запрос не отправляется с использованием jquery.Интересно, что он работает на IE8, но не на следующих версиях.Я попробовал (al) большинство всех вещей, упомянутых в других связанных постах, но безуспешно.

Может быть, мне здесь не хватает чего-то большого.Но IE, кажется, создает много проблем как с точки зрения функциональности, так и с точки зрения css dev.: (

Наше веб-приложение основано на рельсах.

Любые подсказки / указатели будут великолепны.

Спасибо.

jQuery.ajaxSetup({
   cache: true,
   'beforeSend': function(xhr) {xhr.setRequestHeader("Accept", "text/javascript")}
});

$(document).ajaxSend(function(event, request, settings) {
  if (typeof(AUTH_TOKEN) == "undefined") return;  
  if ( settings.type != 'GET' &&  settings.type != 'get') {
      settings.data = settings.data || "";
      settings.data = (settings.data ? settings.data + "&" : "")
         + "authenticity_token=" + encodeURIComponent( AUTH_TOKEN );
  }
});
  $(document).ready(function(){
    $(".signup").live('click', function() {
    var a_key = $('#f_auths').find('input[name="a_key"]').val();
    var a_uid =  $('#f_auths').find('input[name="a_uid"]').val();
    var a_provider =$('#foreign_auths').find('input[name="a_provider"]').val();
    $(this).closest('form').find('input[name="user[provider]"]').val(a_provider);
    $(this).closest('form').find('input[name="user[key]"]').val(a_key);
    $(this).closest('form').find('input[name="user[uid]"]').val(a_uid);

    $.ajax({
      url: "/users",
      type: 'POST',
      data: $(this).closest('form').serialize() ,
      beforeSend: function(){
        $('#loading').css('display','block'); 
      },
      success: function(){

        $('loading').css('display','none');
      },
    });
    return false;

});

Ответы [ 4 ]

1 голос
/ 10 июля 2011

Удалить запятую (,) после последнего параметра (успех).Это нарушает IE 7.

1 голос
/ 10 июля 2011

Установка Панель инструментов разработчика Internet Explorer , которая очень поможет обнаружить проблемы с JavaScript, если вы включите опции отладки сценариев в опциях.

1 голос
/ 10 июля 2011

У меня тоже были проблемы с этим раньше.В моем случае изменение настройки «type» в вызове Ajax исправило это.Я помню другой случай, когда мой сервер фактически отправлял немного неправильный mimetype обратно клиенту, поэтому дважды проверьте тип содержимого, отправленный обратно из сценария вашего сервера.Надеюсь, что-нибудь из этого поможет.

0 голосов
/ 10 июля 2011

Однажды у меня была проблема с jQuery и ajax-запросом, когда у IE7 была проблема с анализом символа '#' в URL.После избавления от # все заработало как положено.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...