为了账号安全,请及时绑定邮箱和手机立即绑定

Eel urllib请求函数向JS返回null,但向python返回值

Eel urllib请求函数向JS返回null,但向python返回值

繁花如伊 2023-08-22 14:56:38
我有以下 Eel 的 Python 代码import eel, urllib.request@eel.exposedef python_function():    response = urllib.request.urlopen('http://google.com').read()    return(response)eel.init('web')eel.start('index.html', port=0)现在,当我从 JavaScript 中调用它时async function jsFunction() {    let result = await eel.python_function()();    return result;}我总是得到null。当我print(python_function())从 Python 调用时,我得到了预期的 HTML 字符串。测试时,JavaScript 在到达 URL 之前返回 null。我认为 Python 阻止了代码。我需要重新实现一个块吗?从 返回一个字符串python_function将得到 中的实际字符串jsFunction。
查看完整描述

1 回答

?
繁华开满天机

TA贡献1816条经验 获得超4个赞

尝试这个:


@eel.expose

def python_function():

    response = urllib.request.urlopen('http://google.com').read()


    return response.decode('latin1')

差别就是response.decode('latin1')回报。

在Eel的Python层,必须根据Python的JSON编码器返回一个可序列化的对象,而返回的原始二进制字符串read()是不可序列化的。


查看完整回答
反对 回复 2023-08-22
  • 1 回答
  • 0 关注
  • 1541 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信