我有一个圆形 slider ,其 slider 值位于客户端或网页上。当用户更改 slider 位置时,客户端必须将值发送到服务器。这里我使用 python Flask 作为服务器端。因此该值必须从 jQuery 或 java 脚本发送到 Flask。我尝试使用以下代码。但是当我使用Ajax时,网页变成空白。它不显示 slider 。如果我删除 Ajax 发送方式, slider 会出现,但值不会发送到服务器。
客户端:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>jQuery roundSlider - JS Bin</title>
<script src="https://code.jquery.com/jquery-1.11.3.js"></script>
<link rel="stylesheet" href="//cdn.jsdelivr.net/jquery.roundslider/1.0/roundslider.min.css">
<script src="//cdn.jsdelivr.net/jquery.roundslider/1.0/roundslider.min.js"></script>
</head>
<body>
<div id="slider"></div>
<div id="slide"></div>
<script>
$(document.ready(function(){
var value;
$("#slider").roundSlider({
sliderType: "min-range",
change: function(){
var obj1 = $("#slider").data("roundSlider");
value = obj1.getValue();
$("#slide").html(value);
});
$.ajax({
type: 'POST',
url: "{{url_for('test')}}",
contentType: 'application/json;charset=UTF-8',
data: {'data':value}
});
});
</script>
</body>
</html>
服务器端:
def flask():
connection()
app = Flask(__name__, template_folder='Templates')
@app.route('/test/', methods=['GET', 'POST'])
def test():
if request.method == "POST":
value=request.json['data']
print(value)
return render_template('roundslider1.html')
if __name__ == "__main__":
app.run(host='192.168.42.1',port=2030, debug=True)
最佳答案
阅读更多文档后,我使用下面的代码将变量从 j Query 发送到 Flask 服务器。
客户端:
var value;
$("#slider").roundSlider({
sliderType: "min-range",
change: function(){
var obj1 = $("#slider").data("roundSlider");
value = obj1.getValue();
$.getJSON('/valueofslider', {
a:value
});
服务器端:
@app.route('/valueofslider')
def slide():
a = request.args.get('a')
print (a)
关于javascript - 如何将 slider 值从 jQuery 或 javascript 发送到 python Flask?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44276470/