Обнаружение ajax против обычной записи браузера в Python Pylons - PullRequest
1 голос
/ 10 мая 2010

Как я могу определить, была ли форма отправлена ​​через сообщение AJAX или только через браузер, отправленный в Pylons?

Например:

if 'name' in request.POST:
    #Do something

Было бы верно, если бы 'имя' было отправлено через ajax или просто обычным сообщением. Как я могу дифференцироваться?

Спасибо.

Ответы [ 3 ]

5 голосов
/ 10 мая 2010

Вы можете использовать request.is_xhr. Это полагается на ваш фреймворк javascript для установки заголовка X-Requested-With: XMLHttpRequest, но это неплохо, поскольку большинство фреймворков, таких как jquery, добавляют этот заголовок.

1 голос
/ 10 мая 2010

Я проверяю, принимает ли JSON в заголовке запроса

def controller_accepts_json():
    return 'application/json' in request.headers.get('accept', '')
0 голосов
/ 03 августа 2013

это может помочь.

import os

os.environ.has_key('HTTP_X_REQUESTED_WITH')
...