我正在尝试创建一个网站,通过Spotify Web API,我可以显示某个元素(艺术家,曲目,专辑等)的信息 . 我没有在软件开发方面经验丰富,我依靠互联网上的指南,我编写了以下代码,但它没有给出结果
<!DOCTYPE html>
<html>
<head>
<title>Index</title>
</head>
<body>
<button type="button" onclick="processRequest()">Try it</button>
<script>
var xhr = new XMLHttpRequest();
xhr.open('GET', "https://api.spotify.com/v1/search?q=Muse&type=track%2Cartist&market=US&limit=10&offset=5", true);
xhr.setRequestHeader('Accept: ', 'application/json');
xhr.setRequestHeader('Content-Type: ', 'application/json');
xhr.setRequestHeader('Authorization: ', 'Bearer BQDWk5QhO-CDvXu6nYDbSMP_nubWIMDH6HDX5hPaQlGWIhim4f2qcCJADFVSePyhhCLklKgyXKhPIyRUWa_RpbB97lKKnQHoq4r3ahfw4friE8-fw8gcvchHGDdYv6PuLp1yXDYooNwuNuG-MDhub2WnNj-SUd9W6SadBOhJMeDabIXIWfVMizjeTdldIsNDriPznZnDB4vFTQ4oYfHrSIfh_D9M9noALwOY2cptpC_dKaF7reI-WN1nAEbgGewqTAmtNaOEEuY');
xhr.send();
function processRequest(e) {
if (xhr.readyState == 4 && xhr.status == 200) {
var response = JSON.parse(xhr.responseText);
alert(response.artists);
document.getElementById("artists").innerHTML = this.responseText;
}
}
</script>
</body>
</html>
唯一出现的是按钮,但如果我按它,绝对没有任何反应 . 我希望你能帮助我 .
3 回答
你快到了 . 正如其他人指出的那样,主要问题是
'Accept'
.您可以在
Full Page
中运行以下代码 .问题正是您的控制台所说的:
'Content-Type: ' is not a valid HTTP header field name.
. 为了将这些更改修复为行:至:
尝试查看控制台以供将来参考 .
你的第一个错误是你不应该在第一个参数中包含冒号
:
.其次,您从未设置onload处理程序 . 如果没有这个,xhr对象就不知道如何处理检索到的数据 .
最后,使用
alert
isn 't advised as it won' t记录整个响应 . 使用console.log
,然后检查控制台 .