Python AJAX请求在收到时为空

Python AJAX请求在收到时为空,python,ajax,post,flask,Python,Ajax,Post,Flask,我可能在这里做了一些愚蠢的事情,但出于某种原因,对我来说似乎完全有效的ajax请求没有起作用 这是AJAX请求: data = {emotions: lRes}; console.log(data); //Data seems to be exactly what I'm looking for $.ajax({ type: "POST", data: data, url: document.location.origin + "/facedata/" + slug,

我可能在这里做了一些愚蠢的事情,但出于某种原因,对我来说似乎完全有效的ajax请求没有起作用

这是AJAX请求:

data = {emotions: lRes};
console.log(data); //Data seems to be exactly what I'm looking for
$.ajax({
    type: "POST",
    data: data,
    url: document.location.origin + "/facedata/" + slug,
    success: function(){
        console.log("Success!");
    }
});
@app.route('/facedata/<slug>', methods=["POST"])
def facedata(slug):
    if request.method == "POST":
        try:
            post = Post.objects.get_or_404(slug=slug)
            print request.args
            sys.stdout.flush()
            data = request.args.get("emotions")
            post.face_data.append(data)
            post.save()
        except:
            traceback.print_exc(file=sys.stdout)
但是在AJAX请求的接收端:

data = {emotions: lRes};
console.log(data); //Data seems to be exactly what I'm looking for
$.ajax({
    type: "POST",
    data: data,
    url: document.location.origin + "/facedata/" + slug,
    success: function(){
        console.log("Success!");
    }
});
@app.route('/facedata/<slug>', methods=["POST"])
def facedata(slug):
    if request.method == "POST":
        try:
            post = Post.objects.get_or_404(slug=slug)
            print request.args
            sys.stdout.flush()
            data = request.args.get("emotions")
            post.face_data.append(data)
            post.save()
        except:
            traceback.print_exc(file=sys.stdout)
@app.route('/facedata/',methods=[“POST”])
def面部数据(缓动):
如果request.method==“POST”:
尝试:
post=post.objects.get_或_404(slug=slug)
打印请求.args
sys.stdout.flush()
数据=request.args.get(“情绪”)
post.face_data.append(数据)
post.save()
除:
traceback.print_exc(file=sys.stdout)

当我记录args时,我只得到一个空的
ImmutableMultiDict
对象,因此情感调用仍然失败。有人知道这里到底发生了什么吗?

请求。args
是URL中提供的参数。Flask的
request
对象包含一个
.form
属性,该属性包含已发布的数据,因此您必须使用
request.form
来访问通过AJAX请求发送的数据,例如:

@app.route('/facedata/<slug>', methods=["POST"])
def facedata(slug):
    emotions = request.form.get('emotions')
@app.route('/facedata/',methods=[“POST”])
def面部数据(缓动):
情绪=request.form.get('emotations')

@JonClements我觉得自己很傻,但非常感谢你回答这个问题。你能给我一个答案让我接受吗?