jquery - 使用 JQuery for Flask 创建动态 URL

标签 jquery python json flask

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

$.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/

相关文章:

javascript - 为什么 jquery-ui 对话框的高度总是设置为 auto?

javascript - 使用 JavaScript 将 JSON 数据显示到 HTML 页面

javascript - 在 spring Controller 中使用 angularJs $http 将对象作为 json 键发送返回 null

javascript - 如何使用 jQuery validate 验证此 Bootstrap 模式

php - 使用 jquery 在 session 中存储数据并在 PHP 中访问该值

python - sqlalchemy 的 create_all 不会自动创建序列

python - 与外部相比,在列表理解内设置集合时存在巨大的时间差异

Python QuickSort 仅部分排序

javascript - 为什么 JSON 不支持 NaN 时 MongoDB 允许 NaN 值?

javascript - 如何在移动设备上设置不缩放?