JQuery AJAX не работает в IE - PullRequest
4 голосов
/ 27 октября 2009

У меня есть следующая функция для добавления товара в мою корзину:

$(".addtocart").click(function(){

   var product = $("#pid").val();
   var qty = $("#qty").val();
   if(isNaN(qty) || qty == '') alert("ERROR");
   else{                                    
        alert("HIHI");

        $.ajax({
            type:"post",
            url:"index.php",
            data:"page=ajax&action=add_product&product=" + product + "&qty=" + qty,
            success: function(html){
                alert("AAA");
                /*
                $("#maininf").html($("#thumbimg").html());
                $("#tinfo").html(html);
                var leftPoint = (Fensterweite()-$(".readybuy").width())/2;
                $(".readybuy").css("left",leftPoint);
                $(".glassbox").fadeIn();
                $(".readybuy").fadeIn();
                */
            },
        });
   }

первое предупреждение всегда в IE. Шаг beforeSend тоже работает. Но второе предупреждение никогда не приходит. Кто-нибудь знает, почему он не работает в IE?

Спасибо.

Ответы [ 5 ]

13 голосов
/ 27 октября 2009
            $(".readybuy").fadeIn();
            */
        },  < - Extra comma will break IE
    });
}
5 голосов
/ 27 октября 2009

http://jslint.com/ - отличный инструмент, чтобы убедиться, что ваш Javascript хорош. Ошибки синтаксического анализатора распространены, у меня также часто был случай, когда Firefox работает нормально, но Safari использует тот же сценарий из-за отсутствия / лишних запятых.

3 голосов
/ 27 октября 2009

Вам нужно удалить запятую для начала:

   $.ajax({
           ...
        } // No comma here
    });
1 голос
/ 27 октября 2009

Большое спасибо, но это была другая ошибка.
Запрошенная страница php нуждается в следующей строке:

header("Content-Type: text/html; charset=utf-8");

А теперь все отлично работает.

1 голос
/ 27 октября 2009

вы также можете захотеть добавить часть ошибки к вашему вызову ajax на случай, если произойдет ошибка, иначе вы не узнаете

$.ajax({
    type:"post",
    url:"index.php",
    data:"page=ajax&action=add_product&product=" + product + "&qty=" + qty,
    success: function(html){
        alert("AAA");
        /*
        $("#maininf").html($("#thumbimg").html());
        $("#tinfo").html(html);
        var leftPoint = (Fensterweite()-$(".readybuy").width())/2;
        $(".readybuy").css("left",leftPoint);
        $(".glassbox").fadeIn();
        $(".readybuy").fadeIn();
        */
    },
    error: function(error) {
        alert(error);
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...