世界!我是編程世界的新手,一個朋友正在教我基礎知識,我想用我制作的東西給他一個驚喜,但我找不到這個問題的答案。
我用一個api做了一個計數器,但是當我去呼叫它時,它給了我undefined,我不明白為什么。有人可以幫我嗎?
實際上我正在使用引導程式作為 IDE。
謝謝您的幫助
這是我的代碼:
<script>
const countEl = document.getElementById('count');
updateVisitCount();
function updateVisitCount() {
fetch('https://api.countapi.xyz/update/http://localhost:8080/Freedom/test/?amount=1')
.then(res => res.json())
.then(res => {
countEl.innerHTML = res.value;
})
}
</script>
<div class="text-center">
<p>This page was viewed</p>
<h1 id="count">0</h1>
<p>times</p>
</div>
uj5u.com熱心網友回復:
這是因為您localhost
在 API URL 中使用。
所以這是交易。localhost
是您的 OWN 計算機在您的 OWN 網路上的地址。您可以閱讀有關本地網路地址的資訊,您的計算機在您的家庭網路中有一個 IP 地址,例如 192.168.xy(x 不同,但通常是 0,1 或 100,y 是您的設備編號)。為了不弄亂該 IP 地址,您可以改寫 localhost ,這樣可以更輕松地訪問您在計算機上使用的任何內容,因為您不必記住那些 192.168 bla bla 數字。
現在的問題是計數器 API 是一個公共 API,這意味著它是在這個世界的某個地方運行的服務器。因此,當您呼叫它時,它會執行它的操作并回傳它發送給您的最后一個值加 1(假設您過去呼叫過)。據我所知,它會記住您的地址,因為您將其傳遞給 URL 中的 api。它必須記住你的地址,否則它永遠不會知道你是誰。
好吧,在你的情況下,你傳遞localhost
給它,這不是一個真實的地址,這個世界上的每臺計算機都有 localhost,因此計數器 API 不知道你是誰。
拿這個比喻。想象一下,計數器 API 是一個住在 X 國的人,他的作業是記錄你那天做了多少俯臥撐。為了讓這個人記住你做了多少俯臥撐,它會要求你給他你的家庭住址,這樣下次你告訴他你做了多少俯臥撐時他會記得你。現在,您在代碼中所做的基本上如下: 而不是說。I did 20 push-ups. I live on street x, city y, country z
,你說I did 20 push-up. I live in my bedroom.
。現在,這家伙就像計數器 api 一樣感到困惑。他就像“嗯,每個人都有臥室......你有什么不同?”。這是一個非常愚蠢的類比,但我希望你明白這一點。
現在,解決方案是向這個計數器 API 提供您在 Internet 上的真實地址。只需去谷歌并輸入my ip
,您將IPv4
通過訪問第一個網站獲得地址。該地址是您的真實地址 - 它就像您在家中的地址,但它是您在全能互聯網上的本地網路地址。
因此,API Url 看起來有點像這樣https://api.countapi.xyz/hit/[your_ip_address]
,它會回傳最后一個值加一。
因此,在以下內容中更改 fetch:
fetch('https://api.countapi.xyz/hit/[your_ip_address]')
我假設您不熟悉 IP 地址,因此您在 google 上的那個網站上找到的 IP 地址應該是這樣的 - 37.75.83.9
,這是我剛剛編造的 IP 地址,盡管它可能是某人的實際地址。
無論如何,現在你的計數器應該可以作業了。每次重繪 頁面時,該值都應增加一。我希望你能給你的朋友一個驚喜:)
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/504693.html
標籤:javascript html css json 网络
下一篇:頁面上顯示的反引號