javascript 计数API返回未定义的响应

am46iovg  于 5个月前  发布在  Java
关注(0)|答案(2)|浏览(71)

世界!我是新的编程世界,一个朋友正在教我的基础知识,我想用我做的东西给他一个惊喜,但我找不到这个问题的答案。
我用了一个API来做一个计数器,但是当我去调用它的时候,它给了我undefined,我不明白为什么。有人能帮我吗?
实际上,我使用bootstrap作为IDE。
谢谢你的帮助
这是我的代码:

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;
        
    })
}

个字符

8fq7wneg

8fq7wneg1#

这是因为您在API URL中使用了localhost
所以这里的交易。localhost是你自己的计算机在你自己的网络上的地址。你可以阅读关于本地网络地址,你的计算机在你的家庭网络中有一个IP地址,如192.168.x.y(x是不同的,但通常是0,1或100,y是你的设备号)为了不乱用那个IP地址,你可以写localhost,这样你就可以更容易地访问你电脑上的任何东西,因为你不需要记住那些192.168blabla的号码。
现在的问题是counter API是一个公共API,这意味着它是一个运行在这个世界上的服务器,所以当你调用它的时候,它执行它的操作,并返回它发送给您的最后一个值加1(假设您过去打过电话)在我看来,它会记住你的地址,因为你把它传递给了网址中的API。它必须记住你的地址,否则它永远不会知道你是谁。是.
在你的例子中,你传递了localhost给它,这不是一个真实的地址,世界上每台计算机都有localhost,因此计数器API不知道你是谁。
打个比方。假设counter 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一样。他像“嗯,每个人都有一个卧室......你有什么不同吗?"。这是一个相当愚蠢的类比,但我希望你能明白这个意思。
现在,解决方案是把你在互联网上的真实的地址提供给这个counter API。只要去google并输入my ip,你就会在访问第一个网站时得到IPv4地址。这个地址就是你的真实地址--就像你在家里的地址一样,但它是你在强大的互联网上的本地网络地址。
因此,API Url看起来有点像https://api.countapi.xyz/hit/[your_ip_address],它将返回上一个值加1。
因此,请在以下内容中更改获取:

fetch('https://api.countapi.xyz/hit/[your_ip_address]')

字符串
我假设你不熟悉IP地址,所以你在谷歌网站上找到的IP地址应该是这样的-37.75.83.9,这是我刚刚编造的IP地址,尽管它可能是某人的实际地址。
不管怎么说,现在你的计数器应该工作了。每次你刷新页面的值应该增加一个。我希望你给你的朋友一个惊喜:)

abithluo

abithluo2#

countapi alternative:https://kounter.vercel.app/
回购:https://github.com/zaadevofc/kounter.vercel.app
这是一个Web计数器API,您可以将其用作countapi.xyz网站的替代方案,该网站目前要么关闭,要么我不知道到底发生了什么

相关问题