IE 9, IE 8 Comp ошибка с плагином jCryption jQuery - не генерирует пару ключей из-за кэширования
Я обнаружил проблему с Internet Explorer 9 и Internet Explorer 8 Comp (пока что) с плагином jQuery, jCryption. Вызов страницы в первый раз работает нормально в указанной версии IE. Последующие обращения к странице приводят к тому, что вызывается только рукопожатие, а генерация пары ключей игнорируется. Проблема в том, как эти версии IE обрабатывают кеширование.
Я посмотрел на исходный код jCryption и вот набор кода, который вызывает генерацию пары ключей:
/**
* Gets the data from the specified url, and converts it into a RSA keypair
* @param {string} url The URL to contact
* @param {string} data The JSON data
*/
$.getJSON(url, function(data) {
var keys = new jCryptionKeyPair(data.e, data.n, data.maxdigits);
if($.isFunction(callback)) {
callback.call(this, keys);
}
});
Я изменил его запрос с GET на POST, что эффективно отключает кеширование этого запроса.
$.ajax({
url: url,
dataType: 'json',
type: "POST",
success: function(data) {
var keys = new jCryptionKeyPair(data.e, data.n, data.maxdigits);
if ($.isFunction(callback)) {
callback.call(this, keys);
}
}
});
Код рукопожатия аналогичен в том, что он также делает запрос JQuery Ajax POST.