首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用AJAX将变量从javascript传递到flask

使用AJAX将变量从javascript传递到flask
EN

Stack Overflow用户
提问于 2018-09-23 03:05:17
回答 1查看 4.7K关注 0票数 0

我已经研究了许多堆栈溢出问题,它们让我在解决方案的过程中走了一半,然而我被困在试图从请求中提取数据的时刻。

JAVASCRIPT

代码语言:javascript
复制
var teamData = homeTeam + "-" + awayTeam;
        $.ajax({
                url: "/teamSelected",
                type: "GET",
                data: teamData,
                success: function(response) {
                alert(response);
            },
        });

其中teamData的形式类似于:“Chelsea Westham”

烧瓶

代码语言:javascript
复制
import csv
import time
import datetime
from selenium import webdriver
from selenium.webdriver.common.by import By
from flask import Flask, render_template, request, jsonify
app = Flask(__name__)

@app.route("/")
def index():
    return render_template('main.html')

@app.route("/teamSelected")
def new():
    data = request.args.get('teamData')
    return data;

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

目前,这给了我一个"500 (INTERNAL SERVER ERROR)“。

代码的目的是从下拉列表中选择团队名称,这些名称是通过AJAX调用传递的。python脚本将获取这些数据,抓取关于给定游戏的信息,并将实时评论更新返回给javascript,然后我会将其呈现到网页上。

我在这里的知识落入了data = request.args.get('jsdata')的行列。老实说,这只是我从我见过的其他解决方案中复制的东西,并且尝试过复制其他解决方案,但没有成功。

很抱歉,因为我知道这是一个经常被问到的问题,但我就是想不通。不过,还是要提前谢谢你!

编辑

据我所知,其他解决方案都在讨论传递表单数据或JSON数据,而这里我只是简单地尝试传递一个变量。如果有解决方案,我很乐意看到它们,但仍然没有找到一个对我有帮助的解决方案。

EN

回答 1

Stack Overflow用户

发布于 2018-09-23 03:55:51

您可以为键-值对创建一个对象,并将其传递给AJAX调用,方法如下:

代码语言:javascript
复制
$.ajax({
  url: '/teamSelected',
  type: "GET",
  data: { teamData: 'myTeam-yourTeam'},
  success: function(){
    alert(this.url)
  }
});

发送GET请求时,要传递的参数将编码到URL中。在此示例中,teamData的键值对在问号后面进行编码,如下所示:

代码语言:javascript
复制
/teamSelected?teamData=myTeam-yourTeam 

request.args保存查询字符串中的值。因此,在Flask视图中,您可以使用request.args.get('teamData')检索teamData的值。

看看这个jsfiddle可以更好地理解它是如何工作的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52459953

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档