2014-05-08 62 views
-2

我試圖通過JavaScript中的jQuery獲取json數據。但我無法從json獲取更新的數據,同時點擊更新按鈕。 Json數據網址也正常工作。如何在javascript中通過ajax獲取Json數據?

提到下面的代碼:我在上面的代碼

<!DOCTYPE html> 
<html> 
    <head> 
    <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type"> 
    <script type="application/javascript"> 
function loadJSON() { 
    var data_file = "http://www.tutorialspoint.com/json/data.json"; 
    var http_request = new XMLHttpRequest(); 
    try { 
     // Opera 8.0+, Firefox, Chrome, Safari 
     http_request = new XMLHttpRequest(); 
    } catch (e) { 
     // Internet Explorer Browsers 
     try { 
      http_request = new ActiveXObject("Msxml2.XMLHTTP"); 
     } catch (e) { 
      try { 
       http_request = new ActiveXObject("Microsoft.XMLHTTP"); 
      } catch (e) { 
       // Something went wrong 
       alert("Your browser broke!"); 
       return false; 
      } 
     } 
    } 

    http_request.onreadystatechange = function() { 
     if (http_request.readyState == 4) { 
      var jsonObj = JSON.parse(http_request.responseText); 
      alert(jsonObj.name); 
      document.getElementById("Name").innerHTML = jsonObj.name; 
      document.getElementById("Country").innerHTML = jsonObj.country; 
     } 
    } 

    http_request.open("POST", data_file, true); 
    http_request.send(); 
} 
    </script> 

    <title>tutorialspoint.com JSON</title> 
    </head> 
    <body> <h1>Cricketer Details</h1> 
    <div id="Name">Sachin</div> 
    <div id="Country">India</div> 
    <button type="button" onclick="loadJSON()">Update Details </button> 
    </body> 
</html> 

,我有JSON數據的URL。但點擊更新按鈕時,我可以通過ajax獲取json數據。

我找不到它在我的代碼中是錯誤的?

在此先感謝。

+1

http://jsbeautifier.org – Pointy

+0

上面的代碼你說*」,但我不能從中獲取更新的數據json,同時點擊更新按鈕。「*和下面的代碼你說*」,但點擊更新按鈕,我可以通過ajax獲得json數據。「*。現在是什麼?究竟是什麼問題? –

+0

您無法從「http:// www.tutorialspoint.com/json/data.json」加載JSON文件。您需要複製它自己的Web服務器並將URL指向那裏。請參閱:http://en.wikipedia.org/wiki/Same-origin_policy –

回答

-1

如果您可以隨意添加jQuery庫,則可以使用$.ajax來完成。
使用它返回一個JSON一個普通的Web方法,並調用它,就像這樣:

$.ajax({ 
    type: "POST", 
    contentType: "application/json; charset=utf-8", 
    url: serverpath + "/Service.asmx/GetJSON", 
    data: {}, 
    dataType: "json", 
    success: function (data, textStatus) { 
     if (data.hasOwnProperty('d')) { 
      data = data.d; 
     } 
     var jsonObj = data; // or $.parseJSON(data); if required 
    }, 
    error: function (msg) { 
     console.log(msg); 
    } 
}); 
+0

'$ .ajax'在我所知的任何瀏覽器中都不是標準的。它是jQuery庫的一部分。 –

+0

@FelixKling:您所需要的只是jQuery庫。爲什麼不? – SNag

+0

他並不是要求jquery – felipekm

相關問題