我想获取输入的值而不提交/重新加载页面,然后使用它来向API发出get请求。这是html:
<form name="music_title" id="search_it">
<input name="song_name" id="search_song" placeholder="Enter song to add" onsubmit="return searchSg()"/>
</form>
这是我为此而写的javascript
searchSg = function(){
oForm = documents.forms[0]
SC.get("/tracks", {q: oForm.elements["song_name"].value , limit: 20}, function(tracks){
$(tracks).each(function(index, track) {
//do stuff with track info
});
});
}
$("#search_song").submit(searchSg() { return false; });
但是这一切都没有被执行,表格仍在提交中。我尝试过使用ajax调用,但根本没有执行。我确保我的静态文件夹路径工作正常,并且我已经让其他功能正常工作了。似乎每当我尝试发出一个ajax请求时,javascript就不起作用了,现在我也无法通过这种形式获取数据。
答案 0 :(得分:1)
试试这个:
$("#search_it").submit(function(ev){
//Do stuff here
var songName = $('#search_song').val();
$.get('/tracks', {q : songName, limit: 20}, function(tracks){
//Do something with the response(tracks) here
});
//You can call ev.preventDefault() but return false will do that for you..
return false;
});