使用 JavaScript 在 html 中显示 python 结果 | python鳗鱼

Display python result in html using JavaScript | python eel

我想将结果发送到 JavaScript 以使用 eel 在 html 中显示结果。

我正在添加从 JavaScript 到 html 读取的两个数字,我想在最后的 html 侧显示结果..

main.py

import eel
import requests

eel.init('web')

@eel.expose
def sum(a,b):
    c = int(a) + int(b) 
    print(c)
    return c

eel.start('index.html', size=(500, 500))

main.js

function sum() {
  var a = document.getElementById("data_1").value;
  var b = document.getElementById("data_2").value;
  eel.sum(a, b);
}

index.html

<!doctype html>
<html lang="en">
<head>
  <title>Test eel</title>
  <script type="text/javascript" src="/eel.js"></script>
  <script type="text/javascript" src="/myscript.js"></script>
</head>
<body>
  <h3 class='label_'>Num 1 </h3> 
  <input type="text" id="data_1"    >
  </br>
  <h3 class='label_'>Num 2 </h3>
  <input type="text" id="data_2" >
</br>
  <input type="button" class="submit" value="submit" onclick="sum()"></br>
output
<div id='file-name'>---</div>
</div>
</body>
</html>

您可以使用 JavaScript 回调函数将 return 值传递给 html

main.js

function sum() {
  var a = document.getElementById("data_1").value;
  var b = document.getElementById("data_2").value;
  eel.sum(a, b)(callback); // change here
}

// add function as
function callback(c) {
  document.getElementById("data").value = c;
}

在 index.html 中添加以下代码以在 html 侧打印结果

index.html

<div>
  Result : <input type="text" id="data" >
</div>