如何检测表单是通过AJAX帖子提交还是仅通过Pylons中的浏览器提交?
例如:
if 'name' in request.POST:
#Do something
如果'name'是通过ajax或普通帖子提交的,那将是真的。我该如何区分?
谢谢。
答案 0 :(得分:5)
您可以使用request.is_xhr
。
这依赖于你的javascript框架来设置X-Requested-With: XMLHttpRequest
标头,但这并不错,因为像jquery这样的大多数框架都添加了这个标题。
答案 1 :(得分:1)
我检查请求标题中的接受json
def controller_accepts_json():
return 'application/json' in request.headers.get('accept', '')
答案 2 :(得分:0)
这可能会有所帮助。
import os
os.environ.has_key('HTTP_X_REQUESTED_WITH')