gpt4 book ai didi

javascript - 使用 fetch api 传递 url 变量

转载 作者:行者123 更新时间:2023-12-01 01:16:36 24 4
gpt4 key购买 nike

我试图通过 api 获取传递 url 变量,但无法返回任何结果。谢谢,我是 Javascript 的新手。

//Get IP address
fetch('https://extreme-ip-lookup.com/json/')
.then((eip) => {
return eip.json();
}).then((eip) => {
document.getElementById('ip').value = eip.query;
var myip = document.getElementById('ip').value;
var url = "https://api.pray.zone/v2/times/today.json?ip=" + myip;
})

//Get City
fetch(url)
.then((res) => {
return res.json();
}).then((res) => {
document.getElementById('city').value = res.results.location.city;
})

我可以获取 IP 地址,但不能获取城市。

最佳答案

url 仅在 .then 回调中可见,当您第二次调用 fetch 时甚至不存在。

调用其中的第二个 fetch 并返回 fetch 返回的 promise ,以便您可以正确链接它们:

//Get IP address
fetch('https://extreme-ip-lookup.com/json/')
.then((eip) => {
return eip.json();
})
.then((eip) => {
document.getElementById('ip').value = eip.query;
var myip = document.getElementById('ip').value;
return fetch("https://api.pray.zone/v2/times/today.json?ip=" + myip);
})
//Get City
.then((res) => {
return res.json();
})
.then((res) => {
document.getElementById('city').value = res.results.location.city;
})

相关:Why is my variable unaltered after I modify it inside of a function? - Asynchronous code reference

关于javascript - 使用 fetch api 传递 url 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54699596/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com