【发布时间】:2018-09-11 21:51:28
【问题描述】:
我有以下路线代码:
@app.route('/getUser', methods=['GET'])
def getUser():
main = Main()
value = request.args.get('user_name')
user = main.getValues(value)
print(json.dumps(user))
return json.dumps(user)
将 json 传递给模板:
<form>
<label>Nome usuario:</label>
<input type="text" value="" name="user_name" id="user_name"/>
<button id="btn_pesquisar">Pesquisar</button> <br>
<label id="id"></label> <br>
<label id="nome"></label>
</form>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script charset="utf-8">
$('#btn_pesquisar').click(function(e){
e.preventDefault();
$.get("/getUser", { user_name: $('#user_name').val() })
.done(function( data ) {
$('#id').html("Id: " + data.id) +
$('#nome').html("Nome: " + data.nome)
});
});
</script>
但是当我要求javascript将json值放入标签中时,它会放入undefined,但是当我在路由函数中返回之前打印json时,它会返回以下json:
@ 987654324@
谁能帮我把值放到模板中?
【问题讨论】:
-
你可能需要告诉 jQuery 响应是 JSON 格式,它可能被解释为字符串。
-
它的作品,我将 json.dumps(user) 更改为 jsonify(user),谢谢帮助
标签: javascript python json flask