Запросы Ajax сохраняют информацию о Сессии PHP?

Как @KlausD. указывает, что Python имеет только динамические массивы, называемые list s. Вы можете добавлять и удалять элементы с помощью .append и .remove соответственно. Тем не менее, dict с ключами кортежа, вероятно, является лучшим выбором, учитывая ваш вариант использования. Таким образом, ваш код станет:

def LSD2(pyramid, m = 0, n = 0, L = {}):
    if len(pyramid) == 0:
      return 0

    if (n, m) in L:
      return L[(n, m)]
    elif L.get((n-1, m), None) and L.get((n-1, m-1), None):
      return max(pyramid[n][m] + max(L[(n-1, m)], L[(n-1, m-1)]

    L[(n, m)] = pyramid[0][m] + max(LSD2(pyramid[1:], m, n + 1, L), LSD2(pyramid[1:], m+1, n + 1, L))  
    return L[(n, m)]
151
задан Click Upvote 24 March 2009 в 10:39
поделиться

6 ответов

Ответ - да:

Сессии являются сохраняемой серверной стороной. Что касается сервера, нет никакого различия между запросом Ajax и регулярный запрос страницы. Они - оба Запросы HTTP, и они оба содержат информацию о куки в заголовке таким же образом.

От стороны клиента те же cookie будут всегда отправляться на сервер, является ли это регулярным запросом или запросом Ajax. Код JavaScript не должен делать ничего специального или даже знать об этом случае, это просто работает то же, как это делает с регулярными запросами.

186
ответ дан thomasrutter 23 November 2019 в 22:16
поделиться

Если файл PHP запросы Ajax имеет a session_start() информация о сессии будет сохранена. (раскрытие запросов в том же домене),

23
ответ дан Ólafur Waage 23 November 2019 в 22:16
поделиться

То, что Вы действительно достигаете: cookie отправляются в с запросом Ajax? Принятие запроса Ajax к тому же домену (или в рамках доменных ограничений cookie), ответ - да. Таким образом, запросы Ajax назад к тому же серверу действительно сохраняют ту же информацию о сессии (предполагающий, что названные сценарии выпускают session_start () согласно любому другому Сценарию PHP, хотящему получить доступ к информации о сессии).

23
ответ дан cletus 23 November 2019 в 22:16
поделиться

Очень важно, чтобы запросы Ajax сохранили сессию. Самый легкий пример - когда Вы пытаетесь сделать запрос Ajax на панель администрации, скажем. Конечно то, что Вы защитите страницу, что Вы выполняете запрос к, не к доступному другими, у которых нет сессии, Вы добираетесь после входа в систему администратора. Имеет смысл?

3
ответ дан Bogdan Constantinescu 23 November 2019 в 22:16
поделиться

Одна вещь не упустить, хотя, особенно при использовании платформы должен проверить, повторно создает ли приложение идентификаторы сессии между запросами - что-нибудь, что зависит явно от идентификатора сессии, столкнется с проблемами, хотя, очевидно, остальная часть данных на сессии будет незатронутый.

Если приложение повторно создает идентификаторы сессии как это затем, можно закончить с ситуацией, где запрос ajax в действительности делает недействительным / заменяет идентификатор сессии на странице запроса.

0
ответ дан John 23 November 2019 в 22:16
поделиться

Это то, что делают фреймворки, например, если вы инициализируете сеанс в Front Controller или в сценарии boostrap вам не придется заботиться об его инициализации ни для контроллеров страниц, ни для контроллеров ajax. Фреймворки PHP - не панацея, но они делают столько полезных вещей, как эта!

0
ответ дан 23 November 2019 в 22:16
поделиться
Другие вопросы по тегам:

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