我已经创建了下面的代码,但它无法正常工作。我哪里出错了或者我忘记包含什么?
var search = document.getElementById("search").value;
var xhr = new XMLHttpRequest();
function results() {
console.log(search);
xhr.send()
}
document.getElementById("results").innerHTML = results();
// Send the XHR
xhr.open('GET', 'https://api.soundcloud.com/tracks?client_id=1dff55bf515582dc759594dac5ba46e9&q=" + search;', true);
<html>
<head>
<!-- JS -->
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
</head>
<body>
<input type="search" id="search" />
<button onclick="results()">Search</button>
<p id="results"></p>
</body>
</html>
最佳答案
您的代码将在页面加载时运行,但您希望创建一个事件监听器来等待用户按“搜索”,然后执行您的请求。
尝试:
$('#search').click(function(){
var search = document.getElementById("search").value;
var xhr = new XMLHttpRequest();
var results = xhr.open('GET', 'https://api.soundcloud.com/tracks?client_id=1dff55bf515582dc759594dac5ba46e9&q=" + search;', false);
document.getElementById("results").innerHTML = results;
})
xhr 请求中的“false”参数可防止代码异步运行,但我确信您可以以某种方式使用回调?
关于javascript - SoundCloud:使用 Javascript 搜索和显示结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29573703/