ajax如何与python一起工作?

时间:2012-12-02 14:12:43

标签: python ajax flask

我一直在谷歌上搜索,但我不太明白ajax的工作原理。 可以请有人解释一下这是如何工作的吗?

$.ajax({
        url: "{{ url_for( 'app.slideshow.<tag>' ) }}",
        type: "",
        data: {'param':},
        dataType: "",
        success : function(response)
        {
        }

我要做的是查看document.getElementsByClassName(当前)是否已更改。如果有,它会向app.py询问当前的评论和标签,并更新页面而不刷新。我不知道在app.py上写什么来接收这个。

我会包含我的app.py,但不太好。

from flask import Flask,session,url_for,request,redirect,render_template
import api,db   
app = Flask(__name__)
#app.secret_key = "secret"

@app.route('/slideshow/<tag>', methods=['GET', 'POST'])
def slide():
if request.method=="GET":
    pic = request.get('current').href
    taglist = db.getTaglist()
    tags = db.getTags(pic)
    piclist = db.getPics(<tag>)
    commentlist = db.getComments(pic)
    return render_template("slide.html", taglist = taglist, tags =tags, piclist =piclist, commentlist = commentlist, url = url)
else:   
    button = request.form['button']
    pic = request.get('current').href

    if button=="submit":
        aComment = request.form['comment']
        db.addComment(pic,aComment)
    elif button == "submitnewtag":
        if request.form['Addnewtag']
            aTag = request.form['Addnewtag']
            db.addTag(pic,aTag)
        else:
            aTag =  request.form['select1']
            db.addTag(pic,aTag)


if __name__=="__main__":
    app.debug=True
    app.run(port=5300)

1 个答案:

答案 0 :(得分:3)

通常,服务器上的ajax处理程序应该使用所需的数据返回XML或JSON(我认为JSON更好)。

因此,在获取hanler中的信息后,将其dum转换为JSON并返回客户端。

在客户端上,Javascript接收此JSON,之后应动态创建html元素并将其插入页面正文中。

首先通过Flask的创建者探索this simple tutorial