python调用js获取异步返回的数据_通过ajax获取返回值

博主在尝试通过Python脚本与JavaScript结合,利用AJAX获取异步返回的数据时遇到了困扰。JavaScript函数的执行顺序与AJAX的异步性质导致数据获取与处理的混乱。在drawgraph()和draw()两个函数中,AJAX的success回调在其他alert之后触发,使得无法正确捕获并使用Python脚本(currentcost.py)返回的数据。博主寻求帮助以解决如何在JavaScript中有效地处理这些返回的数据。
摘要由CSDN通过智能技术生成

我有一个python脚本,我使用一个按钮和一些javascript和ajax从表单中调用它。我很难找到python脚本返回的变量。在

返回的信息似乎都是以错误的顺序发生的,这可能不是事实,但在我看来是这样的。我只想得到python脚本返回的数据。这么简单的事情怎么会这么难呢!!在

任何帮助都将不胜感激。谢谢

这是我的代码:

function drawgraph() {

var x = draw()

alert(x)

};

function draw() {

alert("Hello");

$.ajax({

url: "/currentcost.py",

success: function(response){

alert("Success");

return response;

//here you do whatever you want with the response variable

}

});

alert("World");

}

我得到的回答是“你好”,“世界”,“未定义”和“成功”

这意味着ajax函数在javascript函数完成之后才真正完成,这并不能帮助我真正掌握返回的变量,以便以后在javascript中使用它

克里斯

编辑。在

^{pr2}$

在当前成本.py以下内容:

导入MySQLdb

定义索引(req)&#

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 首先,AJAX是一种用于在浏览器中进行异步数据交换的技术。它允许网页从服务器获取数据,而无需刷新整个页面。 下面是使用Python发起AJAX请求并获取数据的示例代码: ```python import requests # 发起AJAX请求,获取数据 response = requests.get("http://example.com/api/data") # 解析响应内容 data = response.json() # 处理数据 print(data) ``` 这里使用了Python的`requests`库来发起HTTP请求。`response`对象保存了服务器的响应内容,使用`response.json()`方法可以将响应内容解析为JSON格式。最后,你可以使用`data`变量来访问获取数据。 注意:这个代码示例仅供参考,你可能需要根据实际情况进行修改。 ### 回答2: 当使用AJAX请求获取数据时,可以使用Python编写后端代码来处理请求并返回所需数据。下面是一个简单的Python代码示例: ```python from flask import Flask, request, jsonify app = Flask(__name__) @app.route('/api/data', methods=['GET']) def get_data(): # 模拟从数据库或其他数据获取数据 data = [ {'id': 1, 'name': '张三'}, {'id': 2, 'name': '李四'}, {'id': 3, 'name': '王五'} ] return jsonify(data) if __name__ == '__main__': app.run() ``` 以上代码使用了Flask框架创建了一个简单的Web应用,并定义了一个路由 `/api/data` 来处理GET请求。在这个例子中,我们模拟了从某个数据源(例如数据库)获取了一些数据,并返回JSON格式包装的数据。 通过在浏览器中访问 `http://localhost:5000/api/data`,可以获取到这些数据。注意,这个代码示例仅仅是一个简单的演示,并没有实际连接到数据库或其他数据源。 ### 回答3: 以下是一个使用python代码实现AJAX请求获取数据的示例: ```python import requests def get_data_from_ajax(url): headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36', 'X-Requested-With': 'XMLHttpRequest' } response = requests.get(url, headers=headers) if response.status_code == 200: return response.json() else: return None ajax_url = 'http://example.com/ajax_endpoint' data = get_data_from_ajax(ajax_url) if data: print(data) else: print('Failed to retrieve data from AJAX endpoint') ``` 上述代码首先定义了一个`get_data_from_ajax`函数,该函数使用`requests`库发送HTTP GET请求,模拟浏览器发送AJAX请求。通过设置请求头`X-Requested-With: XMLHttpRequest`,服务器可以识别请求为AJAX请求。如果请求成功,该函数返回响应中的JSON数据;否则返回None。 接下来,根据实际情况指定AJAX请求的URL,并调用`get_data_from_ajax`函数获取数据。如果成功获取数据,将其打印出来;否则打印提示信息"Failed to retrieve data from AJAX endpoint"。 请根据实际情况替换`ajax_url`为正确的AJAX请求URL,并确保安装了`requests`库。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值