Internet Explorer 7 и 8 проблема с прототипом 1.6.1 - не удалось завершить операцию из-за ошибки - PullRequest
1 голос
/ 09 октября 2009

Я в растерянности. Я нашел несколько вещей, в которых упоминалось, что в IE нужно было указать тип ответа, и я изменил это на text / html, и это ничего не сделало для меня.

Ошибка:

Не удалось завершить операцию из-за ошибки c00ce56e. prototype.js, строка 1564

Указывает на prototype.js:

if((readyState > 2 && !Prototype.Browser.IE) || readyState == 4) {
  this.status       = this.getStatus();
  this.statusText   = this.getStatusText();
  this.responseText = String.interpret(transport.responseText); <!--- ERROR is here --->
  this.headerJSON   = this._getHeaderJSON();
}

Функция, вызываемая из onClick () в href:

function f(op, cl) {
    if(op && cl) {
            new Ajax.Updater('favorites-' + cl, '/fav.php',
            {
                    onComplete: function(transport) {
                            if(transport.responseText == 1 && cl) $('favorites-' + cl).remove();
                            else return transport.responseText;
                            },
                    onException: function(r, e) {
                                    alert('Updater ' + e);
                            },
                    method: 'get',
                    parameters: { cl: cl, op: op },
                    encoding: 'UTF-8',
                    contentType: 'text/html'
            });
    }
}

1 Ответ

7 голосов
/ 09 октября 2009

Ошибка C00CE56E обычно возникает, когда ваш скрипт возвращает кодировку (по параметру charset Content-Type или <?xml encoding), которую IE не распознает, например, если вы говорите «utf8» вместо правильного «UTF-8». Это должно быть исправлено на стороне сервера.

Какой заголовок Content-Type отправляет ваш сервер?

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