flask中使用ajax 处理前端请求,结果展示在同一页面,不点击页面不展示

 

 

 

在同一页面点击按钮,后端处理后展示在同一页面,不点击隐藏该结果;与上一篇大同小异,需要在 html、flask、js微调

效果展示:

(未点击查询)

 

(点击查询)

 

 html:

<html>
<head></head>
<body>

<div class="header">
<h4>标题XXX</h4>
</div>
<div class="body">
<form class="form" method="post">
<br class="form-a" /> 
<div class="form-b">
<label for="aaa">&nbsp;&nbsp;&nbsp;&nbsp;XXX:&nbsp;&nbsp; <input class="form-control1" type="a" id="a" name="a" maxlength="11" placeholder="请输入XXX" /> </label>
</div>
<div class="box">
<label>&nbsp;XXXX:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</label>
<label class="radio"> <input type="radio" id="b" name="b" value="0" checked="" /><span>b1</span> </label>
<label class="radio"> <input type="radio" id="b" name="b" value="1" /><span>b2</span> </label>
</div>
<br />
<div class="form">
 &nbsp;&nbsp;&nbsp;&nbsp;
<button class="btn btn-primary" type="button" id="notify">查询 </button>
</div>
</form>
</div>

<div class="c" id="show2" style="display:none">
<div class="header">
<h4>结果:</h4>
</div>
<div class="body" id="show3">
</div>
</div>
</body>
</html>

 

js:

 

<script type="text/javascript" src="static/js/main.min.js"></script> //--static/ 这个目录自己定义

<script type="text/javascript">

// 消息提示
$('#notify').on('click', function () {
// ajax
var b = $("input[name='b']:checked").val();
var a = $("input[name='a']").val();
var data = {
data: JSON.stringify({
'b': b,
'a': a
}),
}

if (a.length = 0) {
alert('XXXXX不能为空');
return;
}
$.ajax({
type: "POST",
dataType: "json",
url: "/test111",//调用后台test111方法
data: data,
success: function (result) {
console.log(result);
{
$('#show2').show() //此处展示
$("#show3").html(result)

}
},
error: function (result) {
console.log(result);//
{
alert(result);
}
}
});

})


</script>


flask:
@app.route('/test111',methods=['GET','POST'])
def test111():
data = json.loads(request.form.get('data'))
# print('data:',data)
b = data['b']
a = data['a']
print (b)
print (a)
msg111 = aaa(a, b)#调用aaa方法
# print(msg111)
return jsonify(msg111)

# aaa方法
def aaa(a,b):
s = '<div class="grid"><div class="c">{a}{b}&nbsp;</div></div>'.format(a=a,b=b) //返回html格式
return s

 

转载于:https://www.cnblogs.com/whycai/p/10929235.html

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可能是因为您没有正确设置HTML页面的元素ID或者没有正确调用pyecharts的渲染函数。以下是一个简单的例子,演示如何在Flask应用使用pyecharts绘制词云图并在前端页面显示。 ```python from flask import Flask, render_template from pyecharts.charts import WordCloud from pyecharts.globals import SymbolType app = Flask(__name__) @app.route('/') def index(): # 构造词云图数据 words = [("Python", 100), ("Flask", 80), ("pyecharts", 60), ("前端", 50), ("后端", 40), ("数据分析", 30)] # 创建词云图对象,设置样式和数据 wordcloud = ( WordCloud() .add("", words, word_size_range=[20, 100], shape=SymbolType.DIAMOND) .set_global_opts(title_opts={"text": "词云图"}) ) # 使用render_embed()函数获取词云图的HTML代码 chart = wordcloud.render_embed() # 渲染模板并返回HTML页面 return render_template('index.html', chart=chart) if __name__ == '__main__': app.run(debug=True) ``` 在HTML模板,您需要使用`{{ chart | safe }}`将词云图的HTML代码嵌入到页面。以下是一个简单的HTML模板示例: ```html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>词云图示例</title> <!-- 引入pyecharts的JS库 --> {{ chart.load_javascript() }} </head> <body> <!-- 在这里嵌入词云图的HTML代码 --> {{ chart | safe }} </body> </html> ``` 请注意,您需要在HTML页面的<head>标签引入pyecharts的JS库,否则词云图无法正常显示。此外,为了避免XSS攻击,使用`| safe`过滤器将HTML代码标记为安全,以便Flask可以将其呈现到页面

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值