Ajax jQuery рассматривает перенаправление как состояние 200 не 302?

Я утверждал бы, что усовершенствовавший логическую (дискретную) математику может действительно помочь. Это наряду с теорией множеств. При контакте с общими компьютерными программами эти дисциплины могут помочь много. Однако много другой математики, которую я взял в университете, было исчислением, которое насколько я вижу, имело очень ограниченное использование. Начиная с 90% (или что-то как этот) программирования поддерживает деловые отношения приложения с очень простой математикой, я сказал бы, что по большей части, можно обойтись очень небольшим математическим знанием. Однако хорошее понимание булевой алгебры, логики, дискретной математики и теории множеств может действительно поместить Вас до того следующего уровня.

10
задан Andrzej Doyle 4 November 2009 в 11:40
поделиться

3 ответа

попробуйте с параметром cache: false в jquery ajax :

$.ajax({
  url: "test.html",
  cache: false,
  success: function(html){
    $("#results").append(html);
  }
});

--- ИЗМЕНИТЬ Попробуйте использовать это в коде C #:

protected void Page_Load(object sender, System.EventArgs e)
{
   Response.Cache.SetCacheability(HttpCacheability.NoCache);
   ...
}
1
ответ дан 4 December 2019 в 01:31
поделиться

Подобная проблема уже встречалась ранее. Полезно ли решение , приведенное в этом вопросе ?

0
ответ дан 4 December 2019 в 01:31
поделиться

Вот решение, которое я использовал в прошлом:

На стороне сервера:

Когда я проверяю, действительна ли еще сессия, я также слежу за заголовком "X-Requested-With", который должен быть "XMLHttpRequest", если вы используете jQuery (ПРИМЕЧАНИЕ: IE имеет тенденцию возвращать имя заголовка в нижнем регистре, так что следите за этим). Если сессия действительно истекла и заголовок присутствует, вместо HTTP-переадресации я отвечаю простым JSON-объектом следующим образом:

{ "SESSION": "EXPIRED" }

Клиентская сторона:

В своем коде onload я использую событие ajaxComplete от jQuery для проверки всех входящих запросов на наличие объекта session expired. Код выглядит примерно так:

$(window).ajaxComplete(function(ev, xmlhr, options){
    try {
        var json = $.parseJSON(xmlhr.responseText);
    }
    catch(e) {
        console.log('Session OK');
        return;
    }

    if ($.isPlainObject(json) && json.SESSION == 'EXPIRED') {
        console.log('Session Expired');

        //inform the user and window.location them somewhere else

        return;
    }

    console.log('Session OK');
});
0
ответ дан 4 December 2019 в 01:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: