将Javascript变量传递给Python Flask

时间:2017-04-26 22:48:09

标签: javascript python html flask request

我已经阅读了几个关于通过post / get表单将javascript变量传递给flask的不同示例的帖子。我还是不明白怎么做。根据我的理解,表单创建一个post / get,然后可以通过python flask脚本调用和接收。有人可以写出一个非常简单的例子吗?

从在javascript中使用任何值创建变量然后进行发布/获取开始。最后,python上的接收端应该是什么样子,最后从python中打印变量。

1 个答案:

答案 0 :(得分:2)

我是如何使用来自javascript的ajax请求,看起来像这样。我认为最简单的方法是使用JQuery,因为纯javascript可能会更冗长。

        <nav id="idNavMenu" class="navbar navbar-default" role="navigation">

            {/*<a class="navbar-brand" href="/inicio"><img id="idFotoLogotipo" width="200px" src="./assets/images/cabecera_CE.jpg"/></a>*/}

            <a class="navbar-brand" href="http://www.upct.es/"><span id="idTextoLogotipo">UPCT</span></a>

            <div class="navbar-header">
                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-ex1-collapse">
                    <span class="sr-only">Menú</span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                </button>
            </div>

            <div class="collapse navbar-collapse navbar-ex1-collapse">
                <ul class="nav navbar-nav">
                    <MenuNavItem to='/alumno/inicio' index={true}>Inicio</MenuNavItem>
                    <MenuNavItem to='/alumno/nueva_incidencia'>Nueva Incidencia</MenuNavItem>
                    <MenuNavItem to='/alumno/mis_incidencias'>Mis Incidencias</MenuNavItem>
                </ul>

                <ul class="nav navbar-nav navbar-right">
                    <MenuNavItem to=''><span class="glyphicon glyphicon-off"></span> Salir</MenuNavItem>
                </ul>
            </div>

        </nav>

Flask.url需要JSGlue,基本上让你使用Flask url_for但是用javascript。查找,轻松安装和使用。否则我认为你可以用url替换它,例如'/ function_url'

然后在服务器端你可能有这样的东西:

// some movie data
var movies = {
    'title': movie_title,
    'release_date': movie_release_date
    }

$.ajax({
url: Flask.url_for('my_function'),
type: 'POST',
data: JSON.stringify(movies),   // converts js value to JSON string
})
.done(function(result){     // on success get the return object from server
    console.log(result)     // do whatever with it. In this case see it in console
}

我认为要点是在jquery,flask的request.json()和jsonify()函数中查找ajax请求。