2015-03-31 59 views
1

好吧,所以我想從api中拉出一些數據。我碰到的問題是我能夠找到我正在查找的信息,但是無法從控制檯中將這些信息發佈到我的主index.html頁面上。有問題追加javascript到我的html

這裏是我的JS代碼

var form = $('#search'); 
var input = $('#search-keyword'); 
var results = $('#results'); 

$(document).ready(function() { 
    $("#myBtn").on('click', function() { 
    var symbol = $("#search-keyword").val(); 
    $.getJSON("http://dev.markitondemand.com/Api/v2/quote/jsonp?symbol=" + symbol + "&callback=?", function(info) { 
     console.log(info); 
    }); 
    }); 
}); 

這裏是我的html代碼

<div id="search"> 
    <h1>API Test</h1> 
    <input type="search" id="search-keyword"> 
    <button id="myBtn">Try it</button> 
</div> 
<div id="results"></div> 

通過這樣做,我能得到差不多就是我所期待的。但是我無法從控制檯獲取數據到實際頁面。

我曾嘗試使用appendChild

var bob = document.getElementById(results); 
var content = document.createTextNode(info); 
bob.appendChild(info); 

我已經試過的innerHTML

var theDiv = document.getElementById(results); 
theDiv.innerHTML += info; 

..和我都試過.append()

$('#myBtn').click(function() { 
    $(results).append(info) 
}) 

我的想法。我意識到我可能在其他地方有一個小問題,我沒有看到這可能是這個問題的根源。非常感謝任何能夠幫助我解決這個問題的人。

回答

0

"results"需要用普通的javascript加引號,而對於jQuery,你已經加了decalred結果變量。

var theDiv = document.getElementById("results"); 
theDiv.innerHTML += info; 

$('#myBtn').click(function(){ 
    results.append(info) 
}) 

此外,由於您在文檔調用之外聲明瞭結果,所以您必須確保您的html在javascript之前。

+0

嘿,非常感謝你。我知道這是小事,只是不知道它是什麼。謝謝! – kdweber89 2015-03-31 14:16:40

0
<script> 
var form = $('#search'); 
var input = $('#search-keyword'); 
var results = $('#results'); 

$(document).ready(function() { 
    $("#myBtn").on('click', function() { 
    var symbol = $("#search-keyword").val(); 
    var resultedData = $.getJSON("http://dev.markitondemand.com/Api/v2/quote/jsonp?symbol=" + symbol + "&callback=?", function(info) { 
     return info; 
    }); 

    var resultDiv = document.getElementById("results"); 
    resultDiv.innerHTML += resultedData; 
    }); 
}); 
</script>