Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/452.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么赢了';我的spotify api功能是否正常?_Javascript_Node.js_Api_Express_Spotify - Fatal编程技术网

Javascript 为什么赢了';我的spotify api功能是否正常?

Javascript 为什么赢了';我的spotify api功能是否正常?,javascript,node.js,api,express,spotify,Javascript,Node.js,Api,Express,Spotify,我的页面有一些问题。第一个问题是:当单击页面上的span元素时,它没有做任何事情。我经常遇到的问题是元素。addEventListener不是一个函数。它是将我重定向到Spotify授权端点的函数的一部分。当我手动将它放入url栏时,它会工作(有点),但按钮不会做任何事情 其次,当我手动输入/login请求时,它会在url栏中显示我的访问和刷新令牌,但它会将我带到授权页面,然后用这些凭据重定向到callback.html。callback.js应该处理这些凭证请求。相反,它所做的只是在url栏中

我的页面有一些问题。第一个问题是:当单击页面上的span元素时,它没有做任何事情。我经常遇到的问题是
元素。addEventListener
不是一个函数。它是将我重定向到Spotify授权端点的函数的一部分。当我手动将它放入url栏时,它会工作(有点),但按钮不会做任何事情

其次,当我手动输入
/login
请求时,它会在url栏中显示我的访问和刷新令牌,但它会将我带到授权页面,然后用这些凭据重定向到callback.html。callback.js应该处理这些凭证请求。相反,它所做的只是在url栏中显示我的访问和刷新令牌。这里有一些代码。发生什么事?关于问题2,请看我的项目:

第1期代码:

Issue 1 Code
// public/index.html

<!DOCTYPE html>
<html>
    <head>
        <link href="css/style.css" rel="stylesheet" type="text/css">
        <meta charset="utf8">
    </head>
    <body>
        <h1>Click below to connect spotify:</h1>
        <div class="box-1">
            <div class="btn btn-one">
                <span>CONNECT SPOTIFY</span> <!-- When clicked, should redirect user to login page -->
            </div>
        </div>
        <script src="js/script.js"></script>
    </body>
</html>


// public/js/script.js

function login(e) { // Redirects user to login page for spotify
    if (!e) {e = window.event}
    const xhr = new XMLHttpRequest();
    xhr.open('GET', '/login', true);
    xhr.send();}
if(addEventListener) {document.getElementsByTagName('span').addEventListener('mouseup', login, false);}
else {button.mouseup(login);} 
第1版代码
//public/index.html
单击下面的链接以连接spotify:
连接SPOTIFY
//public/js/script.js
函数login(e){//将用户重定向到spotify的登录页面
如果(!e){e=window.event}
const xhr=new XMLHttpRequest();
xhr.open('GET','/login',true);
xhr.send();}
if(addEventListener){document.getElementsByTagName('span').addEventListener('mouseup',login,false);}
else{button.mouseup(登录);}

刚刚实现的链接不起作用。试试这个:顾名思义,
document.getElementsByTagName('span')
返回元素列表,而不是第一个匹配项。插入
[0]
使其正常工作,或使用
文档。查询选择器('span')
。好的。我试了两种方法,错误消失了。但是,该按钮仍然不起任何作用。转到此处:打开控制台,单击
。很好。但是:XMLHttpRequest不会将用户发送到任何地方,它只是尝试从服务器加载一些内容。如果您想在别处导航,只需使用
location=“/login”位置=“/login”
在哪里?
xhr.send()