【发布时间】:2013-12-16 02:23:25
【问题描述】:
我正在执行 ajax POST 请求,但遇到了这个异常:
[Fri Nov 29 20:48:55 2013] [error] [client 192.168.25.100] self.raise_routing_exception(req)
[Fri Nov 29 20:48:55 2013] [error] [client 192.168.25.100] File "/usr/lib/python2.6/site-packages/flask/app.py", line 1439, in raise_routing_exception
[Fri Nov 29 20:48:55 2013] [error] [client 192.168.25.100] raise FormDataRoutingRedirect(request)
[Fri Nov 29 20:48:55 2013] [error] [client 192.168.25.100] FormDataRoutingRedirect: A request was sent to this URL (http://example.com/myurl) but a redirect was issued automatically by the routing system to "http://example.com/myurl/". The URL was defined with a trailing slash so Flask will automatically redirect to the URL with the trailing slash if it was accessed without one. Make sure to directly send your POST-request to this URL since we can't make browsers or HTTP clients redirect with form data reliably or without user interaction.
路由定义是这样的:
@app.route('/myurl')
def my_func():
我可以在 Firebug 中看到发送的请求没有尾部斜杠:
http://example.com/myurl
Content-Type application/x-www-form-urlencoded; charset=UTF-8
我在另一个模块中有这个:
@app.route('/')
@app.route('/<a>/')
@app.route('/<a>/<b>')
def index(a='', b=''):
这最后一个会妨碍吗?要不然是啥? Flask 版本为 0.10.1
【问题讨论】:
标签: python url flask python-2.6