目前我有一种过滤器形式。我将使用以下代码返回该表单的序列化版本:
$.fn.serializeObject = function() {
var o = {};
var a = this.serializeArray();
$.each(a, function() {
if (o[this.name]) {
if (!o[this.name].push) {
o[this.name] = [o[this.name]];
}
o[this.name].push(this.value || '');
} else {
o[this.name] = this.value || '';
}
});
return o;
};
所以通常当我使用Flask并且我想创建一个动态URL时,我会在模板中执行以下操作:
<a href="{{ url_for('url_base', selector='{0}'.format(data[]) )}}">{{ data[0] }}, {{ data[1] }}</a>
或类似的东西。但是,现在,我不能在HTML中编写它,因为我正在使用JQuery进行计算。
我的JSON看起来像这样:
{"first_attr": [1, 54, "pie"], "second_attr": ["tree", "foo"]}
我想将它传递给具有类似结构的烧瓶,因为它将进入一些接受**kwargs
的python函数。
如何使用JQuery编辑元素的href,让我们说一个<button>
,以便它向烧瓶发出AJAX GET请求。它可以通过设置像url_for
这样的href,也可以通过文字AJAX请求来完成。无论哪种方式,都需要有类似于url_for(base, selector)
的东西来实现它,我认为
答案 0 :(得分:0)
所以,我最终使用了这个entension。它允许您为烧瓶生成客户端的URL。
你需要做什么:
git clone https://github.com/dantezhu/flask_util_js
找到flask_util_js.py
并将其贴在项目中
在.html
模板的某处,添加{{ fujs.js }}
以包含代码
然后,您可以在某处执行此操作:
function onClicked(key) {
var newURL = flask_util.url_for('your_base', {your_selector: key});
window.location = newURL;
}
这很容易