1

在 Transcrypt 中,我尝试从 URL 读取 JSON 数据,因此我尝试:

import urllib.request    
data = urllib.request.urlopen(data_url)

但我收到错误“导入错误,找不到 [...] urllib.request”。所以urllib.request似乎不支持;奇怪的是,虽然顶级import urllib作品,但有了这个我没有得到这个urlopen()功能......

知道urlopen()Transcrypt 的位置在哪里吗?还是有另一种检索 URL 的方法?

4

1 回答 1

2

我不相信 Transcrypt 有可用的 Python urllib 库。您将需要使用相应的 JavaScript 库。我更喜欢 axios,但你也可以只使用内置的 XMLHttpRequest() 或 window.fetch()

这是一个使用 window.fetch() 可以合并的 Python 函数:

def fetch(url, callback):
    def check_response(response):
        if response.status != 200:
            console.error('Fetch error - Status Code: ' + response.status)
            return None
        return response.json()

    prom = window.fetch(url)
    resp = prom.then(check_response)
    resp.then(callback)
    prom.catch(console.error)

只需从您的 Python 代码中调用此 fetch 函数并传入 URL 和回调以在收到响应后使用它。

于 2020-07-17T21:45:55.930 回答