Ajax 发送 get 请求给 flask 获得了一个 id,如何用这个 id 作为 url_for 的参数生成 url_for 的链接呢?

2016-05-03 17:59:01 +08:00
 coolair
1775 次点击
所在节点    问与答
13 条回复
Syc
2016-05-03 18:20:57 +08:00
沙发学习,等待楼下专业人士解答
loading
2016-05-03 18:35:17 +08:00
请看文档和附带的代码


@app.route('/getunfo/<int:id>')
def user(id):
print id
return 'hello '+str(id)
loading
2016-05-03 18:38:15 +08:00
你的问题我看不太懂,因为你前面说 ajax 获得 id 后,那应该是个前端问题……

如果你问的是 flask 的 url hash 参数,看我上一个回复。


麻烦你讲详细一点!
coolair
2016-05-03 18:44:27 +08:00
@loading 非常感谢您的回答。其实是这个意思:我在前端页面用 ajax 发送了一个 get 请求给后台,后台返回给前台 data 里面有一个 id ,想利用这个 id 的值在前台生成一段带链接的 HTML 插到页面里。这个 id 想用作 url_for 的参数{{ url_for('xxx'), param=id }}。
我查了下资料,发现 Jinja 好像不能这样用,不能利用 JS 的参数。最后还是改成 form 用 onsubmit 来实现了。
只是觉得如果能那样用的话会更方便。
loading
2016-05-03 18:50:18 +08:00
你这个是浏览器完成的工作吧?你认真想一下!

你这个需求,用 jquery 写在 ajax success 里面,解析 data 数据,然后再拼接出你要的 html ,用 jquery 的 append 插入到你要的地方就可以了。


你要分清是哪里处理的!
coolair
2016-05-03 18:51:06 +08:00
@loading 最后用这个方法来发送 json 跳转到新页面,只能这样了:
http://stackoverflow.com/questions/24891614/how-to-use-flasks-render-template-from-an-ajax-post-form-submit
coolair
2016-05-03 18:52:41 +08:00
@loading 是的,我也是那样想的,但是那样拼的链接写法不易于维护,想借助 url_for 。
loading
2016-05-03 18:56:27 +08:00
前端也有模板库的,你这个是 js 应该完成的工作。

当然,你目前应该还只是学 flask 吧。


btw:恭喜开始挖全端这个天坑
Syc
2016-05-03 19:44:22 +08:00
@loading !!!原来前后端一起开发的人叫全端! 那 前后+运维叫什么😨
loading
2016-05-03 19:55:16 +08:00
@Syc cto
cloverstd
2016-05-03 20:02:02 +08:00
http://stewartjpark.com/Flask-JSGlue/

这个可以满足你在 js 里用 url_for
coolair
2016-05-03 20:07:39 +08:00
@cloverstd 404 了?我看了国人写的一个插件,不是很理想。
cloverstd
2016-05-03 20:13:16 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/276057

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX