Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.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 获取请求后无法执行函数-SoundCloud API_Javascript_Soundcloud - Fatal编程技术网

Javascript 获取请求后无法执行函数-SoundCloud API

Javascript 获取请求后无法执行函数-SoundCloud API,javascript,soundcloud,Javascript,Soundcloud,这是一个奇怪的问题,可能有一个明显的解决办法。我只是试图在单击“新建曲目”按钮时向浏览器发送警报。但是,按下按钮后,发送请求并收到有效响应,什么也没有发生。不管get函数中放了什么,似乎都不会发生任何事情。如果不是很明显,我对JS还很陌生,那么如果有人能解释一下为什么这不起作用,那就太好了 编辑:API_键只是一个占位符 <!DOCTYPE html> <html> <head> <style type="text/css">

这是一个奇怪的问题,可能有一个明显的解决办法。我只是试图在单击“新建曲目”按钮时向浏览器发送警报。但是,按下按钮后,发送请求并收到有效响应,什么也没有发生。不管get函数中放了什么,似乎都不会发生任何事情。如果不是很明显,我对JS还很陌生,那么如果有人能解释一下为什么这不起作用,那就太好了

编辑:API_键只是一个占位符

<!DOCTYPE html>
<html>
<head>
    <style type="text/css">
        html, body, #map-canvas { height: 100%; margin: 0; padding: 0; }
    </style>
    <script src="http://connect.soundcloud.com/sdk.js"></script>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
    <script src="https://maps.googleapis.com/maps/api/js?key=API_KEY"></script>

    <script>
        SC.initialize({
            client_id: "API_KEY"
        });

        function newTrack(){
            SC.get("/tracks", {limit: 1}, function(tracks){
                alert("Latest track: " + tracks[0].title);
            });
        };
    </script>

</head>
<body>
    <input type="button" value="new track" onclick="newTrack()"/>
    <div id="track"></div>
</body>
</html>

部分原因可能是您在get调用的回调上没有从SoundClound获取任何曲目,并且您正在尝试访问null的[0]索引,这是一个错误。。试试这个

SC.get("/tracks", {limit: 1}, function(tracks){
            if(tracks && tracks.length > 0)
                alert("Latest track: " + tracks[0].title);
            else 
                alert('There are no tracks')
        });

当您单击“新建曲目”按钮时,浏览器控制台上是否有任何错误?没有错误,只是请求者的响应仍然不起作用。奇怪的是,即使我只是把alerthello world放进去,它仍然不会执行。它好像完全忽略了我作为回调函数所做的任何事情。它对我来说很有用。请在另一个选项卡中尝试,可能是您单击了“阻止此页面创建其他对话框”以抑制警报方法。真的吗?您运行它的设置是什么?它是Chrome,urs?Chrome也是:/因此,为了确保您尝试了这段代码,当您单击“获取轨迹”按钮时,它成功地向您发出警报?因为这快把我逼疯了。