Как сделать так, чтобы запрос ajax (JSONP) GET не оставлял историю браузера? - PullRequest
0 голосов
/ 13 мая 2011

У меня есть вызов ajax (JSONP) с использованием JQuery с методом GET. Я думаю, потому что я использую GET, он оставит URL вместе с параметрами в истории браузера. Итак, как мне сделать так, чтобы он не сохранялся в истории браузера?

Будет ли свойство "cache" в Jquery.ajax работать на ложь?

пожалуйста, совет.


Спасибо за все ответы и идеи

Причина, по которой я спрашиваю об истории, заключается в том, что я использую ajaxp для входа в систему (с паролем). Мой PM так беспокоится о том, чтобы оставить след в истории (по умолчанию или что-то вроде firebug). Таким образом, я хочу узнать, как с этим бороться. Конечно, теперь я понимаю, что браузер по умолчанию не будет отслеживать ajaxp, но любой плагин может оставить след.

Наконец, мои решения:

1) Установить ответ сервера без кеша.

2) Я совершаю две поездки. Первый ajax запрашивает у сервера ключ и значение, затем JS использует это значение для шифрования данных и отправляет обратно зашифрованные данные с ключом во втором вызове. JS удалит значение (или просто сохранит его в закрытии обратного вызова). Сервер будет использовать ключ для извлечения значения из БД (или кеша сервера, ну, на самом деле я использую mongodb). А затем используйте значение, чтобы расшифровать данные и получить логин и пароль.

Спасибо, ребята.

Ответы [ 3 ]

2 голосов
/ 13 мая 2011

Вы можете настроить свой серверный сценарий на отправку заголовков, которые запрещают браузерам и прокси-серверам кэшировать страницу:

Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache

Указанные выше заголовки были скопированы из руководства PHP для session_cache_limiter .

1 голос
/ 13 мая 2011

Вызов не появится в истории браузера и не повлияет на кнопки «назад» / «вперед».

Если вы намерены помешать пользователю узнать о вызове (URL, данные и т. Д.), Вам все еще не повезло, так как он может найти его, просмотрев страницу источника или отслеживая сеть.трафик (например, с помощью Firebug).

1 голос
/ 13 мая 2011

Я думаю, потому что я использую GET, он оставит URL вместе с параметрами в истории браузера

История и кеш - это разные понятия.Ajax-запросы не записываются в историю браузера.Есть даже плагинов , позволяющих вам достичь этого путем манипулирования частью hash URL.

Что касается кэширования, то запросы GET действительно могут кэшироваться браузером.Атрибут cache: false отключает кэширование и гарантирует, что сервер будет загружен для получения новой версии ресурса.

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