Замена содержимого всей веб-страницы через ajax - PullRequest
0 голосов
/ 20 января 2010

Я знаю, что это своего рода хак, но из соображений простоты я хотел бы заменить содержимое всей веб-страницы ответом, полученным через Ajax.Это включает в себя возможные заголовки HTTP.Возможно ли это сделать?

Чтобы уточнить, сейчас я добавил для целей отладки:

alert(response);

, и это дает:

пример http://img195.imageshack.us/img195/6362/testbzi.png

По причинам, в которые я не хочу входить, я не могу сделать что-то вроде location.href = 'ajax_page'.Решения, использующие jQuery, были бы лучше.

Код, используемый для получения данных:

$(document).ready(function() {
    new AjaxUpload('#upload', {
        action: '/AjaxSubmit',
        name: 'file',
        autoSubmit: true,
        onSubmit: function(file, extension) { return true; },
        onComplete: function(file, response) {
                alert(response);
        }
    });
});

Ответы [ 4 ]

1 голос
/ 20 января 2010

Я не думаю, что вы можете, не с заголовками HTTP.Причина в том, что область, которой вы управляете, документ, создается и обрабатывается после получения данных.

Большинство заголовков HTTP влияют на способ транспортировки и получения данных.Например, к тому времени, когда вы получите ответ, он уже будет распакован, применена кодировка символов и т. Д.

0 голосов
/ 20 января 2010

Я бы использовал <a href=""></a>.

0 голосов
/ 20 января 2010

Сервер должен учитывать следующие две вещи:

  • Запишите его как UTF-8.
  • Установить Content-Type заголовок ответа на text/html;charset=UTF-8.
0 голосов
/ 20 января 2010

Я не уверен, что вы подразумеваете под включением заголовков HTTP.

Из вашего скриншота видно, что ваш сервер неправильно устанавливает кодировку.

Решение этой проблемы зависитзапрашиваемая страница и используемый веб-сервер.

Вы должны попытаться запросить URL-адрес в новой вкладке и / или в Fiddler , и не следует отлаживатьв вызове AJAX, пока на вкладке браузера не появится нужный контент.

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