Несколько вызовов AJAX заставляют IE жаловаться - PullRequest
0 голосов
/ 16 марта 2011

Итак, у нас есть эта функция Javascript:

function GenerateTermSheet()
        {
            var urlString = "<%= System.Web.VirtualPathUtility.ToAbsolute("~/mvc/Indications.cfc/RenderPartialTermSheetView")%>";
            $('#termSheetPopup input[type="checkbox"]:checked').each(function(){
                var checkedName = $(this).attr("name");
                var json = 
                {
                    id : GetGUIDValue(),
                    viewName : checkedName
                }
                $.ajax({
                    type: "POST",
                    url: urlString,
                    async: false,
                    data: json,
                    success: function(data) {
                        $('#termSheetPrinted').append(data + '<br>');
                    }
                });
            })
            $('#termSheetPopup').dialog('close');
            $('#termSheetPrinted').dialog('open');
            $("#termSheetPrinted").jqprint();
        }

Когда мы вызываем эту функцию, и она вынуждена проходить через множество элементов, IE решает пожаловаться и сократить процесс Javascript.Однако у нас никогда не было проблем с этим в Firefox, поэтому я знаю, что это только IE (в частности, 8).

Ребята, вы знаете, каким образом я могу заставить это работать в IE независимо от того, сколько вызововчто нужно сделать?

Примечание: я знаю, что синхронизация AJAX задерживается, но нам это нужно для этого конкретного случая, чтобы вызовы были завершены по порядку, а не некоторые вызовы AJAX, фактически сделанные позже, завершающиеся раньшевызывается ранее.

Редактировать: Ошибка при возврате из IE ->

Webpage error details

User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET4.0C; .NET4.0E)
Timestamp: Wed, 16 Mar 2011 19:37:48 UTC


Message: Object doesn't support this property or method
Line: 290
Char: 13
Code: 0
URI: https://extranetint.chathamfinancial.com/mvc/Indications.cfc/results/1373c0e6-2696-4b7a-a911-11a71efcf83b

Ответы [ 3 ]

0 голосов
/ 16 марта 2011

Возможно, слишком много одновременных запросов.IE6 / 7 может обрабатывать 2, IE8 может обрабатывать до 6, если только вы не подключены, тогда 2.

0 голосов
/ 16 марта 2011

Эта ошибка появляется, когда код испорчен, я думаю, что это не вопрос тайм-аута в вызове ajax или что-то в этом роде.

Проверьте определение первой переменной, возможно, тот факт, что у вас есть "ххх" внутри другой пары кавычек.Используйте что-то вроде

 var urlString = '<%= System.Web.VirtualPathUtility.ToAbsolute("~/mvc/Indications.cfc/RenderPartialTermSheetView")%>';

и проверьте, работает ли это.Проверьте также, следует ли экранировать что-то еще в содержимом переменной.Может быть, простая вещь может на самом деле сделать свое дело.В противном случае проверки вызова ajax должны выполняться, как говорили другие люди.

0 голосов
/ 16 марта 2011

Что касается вашей асинхронной проблемы, это может быть полезно http://vimeo.com/12529436 Пол Айриш: 10 вещей, которые я узнал из jQuery Source.Если вы пройдете через него, он упомянет метод, который вы можете использовать, вы должны выполнить несколько вызовов ajax в определенном порядке.

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