gpt4 book ai didi

javascript - 从 html/js 返回数据到 python

转载 作者:太空狗 更新时间:2023-10-29 21:34:59 24 4
gpt4 key购买 nike

我有一个由 javascript 函数填充的 html 表单。我有另一个 javascript 函数,它获取所有表单元素的值,目前只使用警报将它们显示给用户。使用以下代码通过 python 显示 html 页面:

import webbrowser
new = 2 #open new tab if possible
url = "form.html"
webbrowser.open(url, new=new)

一切正常,但我不想使用警报显示数据,而是想将数据传回 python,但不知道如何进行。所有数据都存储在一个 javascript 数组中,因此我基本上只需要传递这一条数据。

编辑:我不能使用任何外部库。

最佳答案

>>> import json
>>> weird_json = '{"x": 1, "x": 2, "x": 3}'
>>> x = json.loads(weird_json)
>>> x
{u'x': 3}
>>> y = json.loads('["foo", {"bar":["baz", null, 1.0, 2]}]')
>>> y
[u'foo', {u'bar': [u'baz', None, 1.0, 2]}]

您可以获取 HTML 数据,并将其转换为字典,使您能够:打印 x['x']

这是起点,在 Python 中创建一个监听端口的套接字。然后让它接收数据。

在 Javascript 中,打开一个可以连接到端口(Python 监听的端口)的套接字。使用,说:http://socket.io/

这是一个纯粹的套接字到套接字相关的问题?


Python 和 Javascript 之间的工作关系(在端口 80 上):

from socket import *
import json
s = socket()
s.bind(('', 80))
s.listen(4)
ns, na = s.accept()

while 1:
try:
data = ns.recv(8192)
except:
ns.close()
s.close()
break

data = json.loads(data)
print data

你有一个监听 80 的套接字,连接到它并发送你想要的任何东西。

function callPython()
{
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","Form-data",true);
xmlhttp.send();
}

例如,您可以将表单数据作为字符串发送,替换“Form-data”,Python 的响应可以放入“myDiv”:)

关于javascript - 从 html/js 返回数据到 python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14778167/

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