2013-08-04 57 views
2

我是Json和Jquery的新手。基本的Javascript jquery json Html

今天我做了這個小代碼,但它不工作。我想我寫得對,但我知道某處有一些小錯誤。你能幫我弄明白嗎?

<!doctype html> 
    <html lang="en"> 
    <head> 
    <script src="http://code.jquery.com/jquery-1.9.1.js"></script> 
    </head> 

    <script> 

    $(document).ready(function() { 

    $(":button").click(function(){ 

    var add = $("#destination").val(); 

    $.getJSON("http://maps.googleapis.com/maps/api/geocode/json?address= + add +&sensor=false", function (data) { 
     var output = "<ul>"; 


      output += "<li>"+ results.geometry.location.lat + " " + results.geometry.location.lng + "</li>"; 
      output += "</ul>"; 

     document.getElementById("placeholder").innerHTML = output; 
    }); 
    }); 
}); 
    </script> 
    <body> 

    <input type="text" id="destination" /><button type="button">Search</button><br> 
    <div id="placeholder"> </div> 
</body> 

</html> 
+0

你的getJSON函數需要用'data'回調作爲參數,並在功能 – axelcdv

回答

2

固定。請注意,結果是一個數組。

<script> 

$(document).ready(function() { 

$(":button").click(function(){ 

var add = $("#destination").val(); 

$.getJSON("http://maps.googleapis.com/maps/api/geocode/json?address= + add +&sensor=false", function (data) { 
    var output = "<ul>"; 


     output += "<li>"+ data.results[0].geometry.location.lat + " " + data.results[0].geometry.location.lng + "</li>"; 
     output += "</ul>"; 

    document.getElementById("placeholder").innerHTML = output; 
}); 
}); 

});

<input type="text" id="destination" /><button type="button">Search</button><br> 
<div id="placeholder"> </div> 

+0

啊'使用result',工程....恐怕我總是這樣的錯誤,同時考慮在陣列Json ..他混淆了我......昨天,我犯了一個類似的錯誤.....我所理解的是我必須分析正確的數組......其他方面,我會訪問一個未定義的元素。謝謝 – user609306

0

我想URL中有一個錯誤。它可能應該是:

"http://maps.googleapis.com/maps/api/geocode/json?address="+add+"&sensor=false" 

因爲add是早期定義的變量。

其他然後,你也應該這樣做(因爲你正在使用jQuery):

$("#placeholder").html(output); 

,而不是

document.getElementById("placeholder").innerHTML = output; 

最後你可能想

(由@pixelcdv說明)
$.getJSON(..., function (results) { 

因爲您以後使用的是results,而不是data

0

你的jQuery選擇並不需要一個冒號,因爲你指的是元素名稱

$("button") 

如畸形,創建時提到你的url字符串,你需要在使用「+」連接字符串之前關閉引號。你發現你得到一個數組。涼。

如果你想看看,我做了一個小提琴。創建你的json請求並在瀏覽器中仔細檢查(Chrome很好地呈現json)會有很大的幫助。

my solution on jsfiddle