gpt4 book ai didi

javascript - 如何使用 Eel 将 json 对象从 Python 函数传递到 Javascript,您可以在其中使用和操作 json

转载 作者:行者123 更新时间:2023-11-29 23:27:27 25 4
gpt4 key购买 nike

这个问题可能有点令人困惑,所以让我给你一些背景知识。 Eel 是一个 Python 模块,您可以在其中使用 Python 编写的函数并在 Javascript 中使用它们,反之亦然。我想要做的是获取一个由 Python 函数生成的 json,将其放入 Javascript 中,然后根据从 Python 端获取的 json 创建一个表。这是一个例子。

python.py

def json_example():
json = [
{
"key": "value1"
},
{
"key": "value2"
}
]
return json

js.html

<body>
<div></div>
</body>
<script>
function js_example() {
# This is where the function from Python is called
var json_obj = eel.json_example();
var tbl = $("<table/>").attr("id", "example_table");
$("div").append(tbl);
for(var i=0; i<json_obj.length; i++){
var tr="<tr>";
var td="<td>"+obj[i]["key"]+"</td></tr>";
$('#example_table').append(tr+td);
}
}

我分别测试了这两个功能,并做了一些改动,它们都可以正常工作。然而,这就是问题的开始。出于某种原因,Javascript 部分没有从它从 Python 代码调用的函数中获取任何信息。变量“json_obj”应该等于我在 Python 函数中创建的 json,但由于某种原因,该函数的返回值没有创建可以在 Javascript 中操作的有形数据,基本上什么都不返回。鳗鱼转移本身也有效。如果将“return”替换为“print”,它将在控制台中打印 json。

此外,请不要告诉我只将 json 本身放在 Javascript 中。我有理由需要来自 Python 端的 json。

基本上,这是我的问题:如何获得 Python 函数来创建可以在 Javascript 中操作的值?

最佳答案

问题在于,当 eel 公开一个函数时,它实际上所做的是创建一个新函数,该函数将返回一个包含 python 函数返回值的 promise
所以你应该有这样的东西:

let json_obj = ''; 
eel.json_example()(x => json_obj = x);

如果您需要有关回调的更多帮助,请参阅 https://github.com/ChrisKnott/Eel .

关于javascript - 如何使用 Eel 将 json 对象从 Python 函数传递到 Javascript,您可以在其中使用和操作 json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48589123/

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