如何将js变量传递给flask jinja函数url_for

时间:2017-09-24 04:50:18

标签: javascript python flask jinja2

$("#getVerification").click(function () {
    var tmp=$("#cellphone").val();
    console.log(tmp);
    $.getJSON("{{ url_for('auth.sendsms', cellphone=tmp )}}",
        function(data){
    });
});

作为上面的代码,我想在函数tmp中使用字符串变量url_for作为参数,但我无法弄清楚如何,

非常感谢!

1 个答案:

答案 0 :(得分:2)

由于模板的呈现方式,您无法将javascript变量传递给Jinja2。

服务器端处理在客户端之前完成。

这是订单。

  • Jinja2将模板处理为正确的标记。

  • 浏览器将标记解析为DOM并呈现它。

  

这种方式只允许将Jinja2变量传递给Javascript

您需要不使用url_for Jinja2指令并构建您的URL客户端。

var tmp=$("#cellphone").val();
    console.log(tmp);
    $.getJSON(["<url_path for auth.send_sms>", tmp].join("/"),
        function(data){
    });