Jquery 使用ajax和flask更新表
我在我的网站上有一个包含两个内容的页面,大约需要10秒来计算。我不想让用户在页面加载之前等待太久。我想加载没有内容的页面,然后使用ajax在Window load上发送请求来计算这些内容,然后将它们添加到内容中。在此之前,加载循环是完美的。问题是我以前没有使用过ajax,我感到很失落。 编辑1: 我尝试使用jquery和ajax进行实验。我做了一些事情,但我有一个错误 HTML代码: 这是烧瓶代码:Jquery 使用ajax和flask更新表,jquery,python,ajax,flask,Jquery,Python,Ajax,Flask,我在我的网站上有一个包含两个内容的页面,大约需要10秒来计算。我不想让用户在页面加载之前等待太久。我想加载没有内容的页面,然后使用ajax在Window load上发送请求来计算这些内容,然后将它们添加到内容中。在此之前,加载循环是完美的。问题是我以前没有使用过ajax,我感到很失落。 编辑1: 我尝试使用jquery和ajax进行实验。我做了一些事情,但我有一个错误 HTML代码: 这是烧瓶代码: 我不知道问题出在哪里,但图像根本没有显示:您显然没有将任务对象传递给模板,这就是您无法使用它的原
我不知道问题出在哪里,但图像根本没有显示:您显然没有将任务对象传递给模板,这就是您无法使用它的原因。我还没用过烧瓶,但你们可以通过口述传递任务和链接
return render_template("task_details.html", {'links': links, 'task': task))
这是一个使用bottlepy和ajax的示例,非常类似于flask
ajax调用:
$.ajax(url: '/methods/12',
type: json,
data: somedata,
success: function(result){
alert(result);
});
python:
@route('/methods/<id>', method='GET')
def getUserStatus(id='0'):
# Get user status info
try:
con = pymysql.connect(user=dbUser, passwd=password, host=dbHost, port = dbPort, db=database)
cursor = con.cursor()
status = cursor.execute("SELECT account_number,account_type FROM payment_methods")
status = cursor.fetchall()
con.close()
# handle mysql errors
except pymysql.Error as error2:
message = ({"result":"error","error_name":error2[1]})
return json.dumps(message)
# Preparing response
q = len(status)
columns = zip(*status)
acc_n =columns[0]
acc_t = columns[1]
#acc_n = [x for (x,y) in status]
#acc_t = [y for (x,y) in status]
message = ({"result":"OK","q":q,"acc":acc_n,"name":acc_t})
# Return
return json.dumps(message)
我从那里删除它,因为我想从ajax请求中请求它。在python中有意使用ajax非常简单,使用javascript或jquery进行调用,在“url”中从这里放置url@app.route/task/,即url:“/task/sometitle”,该函数应返回json对象,如return json.dumpsdata
$.ajax(url: '/methods/12',
type: json,
data: somedata,
success: function(result){
alert(result);
});
@route('/methods/<id>', method='GET')
def getUserStatus(id='0'):
# Get user status info
try:
con = pymysql.connect(user=dbUser, passwd=password, host=dbHost, port = dbPort, db=database)
cursor = con.cursor()
status = cursor.execute("SELECT account_number,account_type FROM payment_methods")
status = cursor.fetchall()
con.close()
# handle mysql errors
except pymysql.Error as error2:
message = ({"result":"error","error_name":error2[1]})
return json.dumps(message)
# Preparing response
q = len(status)
columns = zip(*status)
acc_n =columns[0]
acc_t = columns[1]
#acc_n = [x for (x,y) in status]
#acc_t = [y for (x,y) in status]
message = ({"result":"OK","q":q,"acc":acc_n,"name":acc_t})
# Return
return json.dumps(message)