Javascript 如何使用Fetch添加动态URL?
此代码不起作用。 当我删除&type={t}时,它会工作。但是当我放置它时,fetch不会返回任何数组Javascript 如何使用Fetch添加动态URL?,javascript,Javascript,此代码不起作用。 当我删除&type={t}时,它会工作。但是当我放置它时,fetch不会返回任何数组 let n = 12 let c = 20 let t = 'multiple' let d = 'hard' fetch(`https://opentdb.com/api.php?amount=${n}&category=${c}&difficulty=${d}&type=${t}`) .then((response) => response.json
let n = 12
let c = 20
let t = 'multiple'
let d = 'hard'
fetch(`https://opentdb.com/api.php?amount=${n}&category=${c}&difficulty=${d}&type=${t}`)
.then((response) => response.json())
.then((data) => printCards(data))
function printCards(questions) {
console.log(questions);
}
当我运行第一次获取->服务器时,回答:
{响应\代码:1,结果:[]}
如果我们打开API文档code 1:没有结果
因此,您的控制台将是空的
当我删除时,键入->服务器回答:
{response\u code:0,results:[…]}
某些结果带有类型:“multiple”
好消息:您的代码很好
坏消息:看起来有一些api限制或错误。这不是答案,但我不能评论,因为我对StackOverflow比较陌生。我尝试手动点击API,参数type=“multiple”的API不会返回任何结果。fetch查询没有问题,您只需要确认您正确使用了API。在这里,您可以找到关于它的信息。您所做的对于所显示的数据应该是正确的。您必须使用浏览器的开发工具来查看错误是什么。但一般来说,您需要在URL中使用的数据周围使用encodeURIComponent()
,以转义它以供使用。如果使用多个参数,则使用一种更简单的方法:我想问题在于发送到的API,而不是前端。