目前我有一种过滤器。我将使用以下代码返回该表单的序列化版本:
$.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"]}
我想将它传递给具有类似结构的 flask,因为它将进入一些接受 **kwargs
的 python 函数。 .
我如何使用 JQuery 编辑元素的 href,比方说 <button>
,以便它向 flask 发出 AJAX GET 请求。它可以通过将 href 设置为 url_for
来实现。或者它可以通过文字 AJAX 请求来完成。但是,无论哪种方式,都需要类似于 url_for(base, selector)
的内容。为了实现它,我认为
最佳答案
所以,我最终使用了这个 entension .它允许您为 Flask 客户端生成 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;
}
就这么简单
关于jquery - 使用 JQuery for Flask 创建动态 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20154510/