【问题标题】:Creating dynamic URL with JQuery for Flask使用 JQuery for Flask 创建动态 URL
【发布时间】:2013-12-07 21:40:09
【问题描述】:

目前我有一种过滤器形式。我使用以下代码返回该表单的序列化版本:

$.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,比如 &lt;button&gt;,以便它向烧瓶发出 AJAX GET 请求。它可以通过设置像url_for 这样的href 来完成,也可以通过文字AJAX 请求来完成。不过,无论哪种方式,都需要类似于 url_for(base, selector) 的东西才能实现,我认为

【问题讨论】:

  • 不喜欢我的 tl;dr 参考资料? :)
  • 我认为这很聪明,fwiw。
  • 所以我不明白您要在 jquery 端创建一个 url。我现在删除了我的答案,因为我没有时间更新我的错误答案。当我有一个经过测试和工作的解决方案时,我会回来回答这个问题。
  • @Rawrgulmuffins,谢谢你的帮助!

标签: jquery python json flask


【解决方案1】:

所以,我最终使用了这个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;
}

就这么简单

【讨论】:

    猜你喜欢
    • 2011-11-20
    • 2023-03-22
    • 1970-01-01
    • 1970-01-01
    • 2023-03-28
    • 1970-01-01
    • 1970-01-01
    • 2021-12-02
    • 2012-07-29
    相关资源
    最近更新 更多