gpt4 book ai didi

javascript - 如何将 JSON 数据从 python 返回到 javascript?

转载 作者:行者123 更新时间:2023-11-28 18:37:00 24 4
gpt4 key购买 nike

我正在开发一个 python 文件,它返回变量“距离”并将其发送到一个 javascript 文件,我可以在其中将该值放在我的网页上。

我的问题是我不知道如何将值从 python 发送到 javascript。我听说你必须让 pythonfile 以 JSON 格式返回,然后发出 ajax 请求,但我在任何地方都找不到如何做到这一点。

我的问题是:如何设置连接以获取 JavaScript 中的 JSON 数据?如果有人向我展示如何使用代码,我真的很感激,我对 python 和 javascript 都很陌生。

编辑:数据来自带有距离传感器的 RaspberryPi。我的Python代码是:

import RPi.GPIO as GPIO
import time
import io, json

GPIO.setmode(GPIO.BCM)
TRIG = 14
ECHO = 15

GPIO.setup(TRIG,GPIO.OUT)
GPIO.setup(ECHO,GPIO.IN)

revers = 1

while revers == 1:

GPIO.output(TRIG,0)
time.sleep(0.5)

GPIO.output(TRIG,1)
time.sleep(0.00001)
GPIO.output(TRIG,0)

while GPIO.input(ECHO)==0:
pulse_start = time.time()

while GPIO.input(ECHO)==1:
pulse_end = time.time()

pulse_duration = pulse_end - pulse_start
distance = pulse_duration * 17150
GPIO.cleanup()

我还没有用 javascript 编写任何内容,只是因为我不知道如何进行 ajax 调用,但我的目标是将可变距离转换为 JSON 格式并将其显示在我的网页上。

最佳答案

服务器上的 python 程序可以返回任何你想要的任何格式的值,但 json 是一种方便的格式,python 程序和 javascript 都可以轻松处理它。

您的 JavaScript 需要向服务器发送请求。该请求将指定它想要检索 python 文件。请注意,JavaScript 请求是为了响应某些事件而发送的,例如用户单击按钮。

Python 程序将驻留在服务器目录结构中的某个位置。如果您的服务器设置正确,那么当收到对 python 文件的请求时,服务器将执行 python 程序并返回 python 程序的输出,而不是返回 python 文件的文本。

发出 ajax(即 javascript)请求的最简单方法是使用 jquery。关于如何使用 jquery 发出 ajax 请求,实际上有 10,000 个教程、博客等。这是其中之一:

http://www.tutorialspoint.com/jquery/jquery-ajax.htm

这是 jquery 文档中的相关信息:

https://api.jquery.com/jquery.get/

I'm very new to both python and javascript..

那么您想要的程序很可能太复杂了。

这是一个 ajax 示例:

page.html

<!DOCTYPE html>
<html>
<head>
<title>My Web Page</title>
</head>

<body>
<p>Hello</p>
<button id="my_button" type="button">Click me</button>
<div id="ajax_results"></div>

<!-- Download jquery library: -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>

<!-- My jquery code: -->
<script>
$("#my_button").on('click', function() {
$.get("http://localhost:8080/cgi-bin/my_prog.py", function(data) {
$("#ajax_results").text(data);
})
});
</script>

</body>
</html>

我在浏览器中使用以下 URL 向本地服务器发出请求:

http://localhost:8080/page.html

在我的浏览器中加载 page.html 。当页面加载时,我的 jquery 代码就会执行,这会向按钮添加一个 onclick 处理程序:

$("#my_button").on('click', function() {....

此后,如果单击该按钮,该函数将执行。

以下 python 程序驻留在我的本地服务器上的目录中:

my_prog.py

#!/usr/bin/env python3.4

print("Content-Type: text/html\n\n")
distance = 10
print(distance) #This is the body of the response

如果我单击网页中显示的按钮,jquery 代码会向服务器发送文件 my_prog.py 的请求:

$.get("http://localhost:8080/cgi-bin/my_prog.py", ....

我的服务器设置为执行该文件,而不是返回文件的文本,然后服务器返回程序的输出作为响应。

当jquery代码收到服务器的响应时,jquery调用以下函数:

function(data) {
$("#ajax_results").text(data);
})

将响应正文作为参数传递。该函数将响应正文数据插入到 id 为“ajax_results”的 html 标记中。由于响应的正文是字符串“10”,因此网页中显示 10。

关于javascript - 如何将 JSON 数据从 python 返回到 javascript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36885740/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com