我已经阅读了几个关于通过post / get表单将javascript变量传递给flask的不同示例的帖子。我还是不明白怎么做。根据我的理解,表单创建一个post / get,然后可以通过python flask脚本调用和接收。有人可以写出一个非常简单的例子吗?
从在javascript中使用任何值创建变量然后进行发布/获取开始。最后,python上的接收端应该是什么样子,最后从python中打印变量。
答案 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请求。