Javascript 无法更改使用Soundcloud API进行动态搜索

Javascript 无法更改使用Soundcloud API进行动态搜索,javascript,soundcloud,Javascript,Soundcloud,我很难让这个代码正常工作。我可以使用SC.get()中的'q'、'bpm'或'genres'参数进行静态搜索。但是,当我尝试使用变量('category')使其动态时,值传递正确,但执行的搜索不匹配: function getTracks(){ query = document.getElementById('search').value; category = document.getElementById('category').value; SC.get('/tr

我很难让这个代码正常工作。我可以使用SC.get()中的'q'、'bpm'或'genres'参数进行静态搜索。但是,当我尝试使用变量('category')使其动态时,值传递正确,但执行的搜索不匹配:

function getTracks(){
    query = document.getElementById('search').value;
    category = document.getElementById('category').value;

    SC.get('/tracks', { category : query}, function(tracks) { 
                console.log(query);
        console.log(category);
            ... rest of search code
            }
内部HTML:

        <form>
            Search by Title: <input type="text" name = "search" id = "search">
                            <select id = "category">
                            <option value = "genres">Genre</option>
                            <option value = "q">Title</option>
                            <option value = "bpm">BPM</option>
                            </select>

        <input type="button" onclick = "getTracks()" value="Submit"/>
        </form>

按标题搜索:
体裁
标题
BPM

有什么我遗漏的吗?Console.log捕获“search”和“category”值的正确值,但API返回时就好像它们为null一样。

在您的示例中,
{category:query}
category
指定为键名,而不是将变量
category
指定为键名。这在Javascript中有点不一致

您要执行以下操作:

parameters = {};
parameters[category] = query

SC.get('/tracks', parameters, function(tracks…

在您的示例中,
{category:query}
category
指定为键名,而不是将变量
category
指定为键名。这在Javascript中有点不一致

您要执行以下操作:

parameters = {};
parameters[category] = query

SC.get('/tracks', parameters, function(tracks…

SoundCloud中也没有像
category
这样的参数。谢谢,我没有识别出散列!这真是太棒了。SoundCloud中也没有像
category
这样的参数。谢谢你,我没认出散列!这真是太棒了。