我的网站上的图像每5秒更新一次(使用PubNub和Raspberry Pi。我使用JavaScript来更新图像源)。这很好用。我的问题是我正在尝试使用Ajax将源文件发送到python(flask)并将该文件存储在MySQL数据库中。然后我想在网站上显示文件名。我是java script / ajax的新手。
这是我的java脚本:
<script type=text/javascript>
$(function() {
$('img#imageid').bind( function() {
$.getJSON('/_button', {
proglang: document.getElementById('imageid').src,
}, function(data) {
$("#buttonState").text(data.result);
});
});
});
</script>
img #imageid 是当前图片的ID, #buttonstate 是我希望显示图片文件名的地方
这是我的HTML:
<img id="imageid" src="http://searchengineland.com/figz/wp-content/seloads/2015/12/google-amp-fast-speed-travel-ss-1920-800x450.jpg">
<form>
<p>The button is <span id="buttonState"></span></p>
<br>
</form>
我不想使用GET或POST。我希望每次图像源发生变化时自动发送到python文件。
这是我的Flask视图:
@app.route("/_button")
def _button():
try:
lang = request.args.get('proglang')
c.execute ("""UPDATE pictures SET file_name=%s WHERE user_id=%s""",
(str(lang), str(session['user_id'])))
return jsonify(buttonState=lang)
except Exception as e:
return render_template("500.html", error = str(e))