2013-08-26 42 views
-1

我對JSON仍有一些疑問。我知道如何從本地文件中獲取json數據。現在我想從我的網絡IP地址獲取相同的數據。如何僅使用JavaScript從IP地址獲取JSON數據

這裏是我的IP地址

  1. 我坐在 - 10.1.128.103
  2. 默認網關 - 10.1.128.1
  3. JSON數據過路人 - 10.1.128.106

這裏是我的data.json文件裏面的

{"JsonProjectIDResult": [{"_capacity": 15,"_description": "Meeting Room","_dev_default_view": 3,"_deviceID": 1,"_deviceName": "MobiTech","_deviceTypeID": 1,"_projectID": 1,"_roomID": 2,"_roomName": "Room2","_room_admin_mail": null},{"_capacity": 2,"_description": "Meeting Rooms","_dev_default_view": 5,"_deviceID": 2,"_deviceName": "MobiTeches","_deviceTypeID": 4,"_projectID": 2,"_roomID": 2,"_roomName": "Room4","_room_admin_mail": null}]} 

這是我的HTML代碼與簡單的JavaScript 這是一個簡單的代碼,如果我做錯了,請讓我知道球員。

<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="utf-8"> 
    <title>JavaScript Get Json Data</title> 

</head> 
<body> 

<h1>My Home Page</h1> 

<div id="results"> 
    <!-- Display Jason Data --> 
</div> 

<script> 

    var resultDiv = document.getElementById("results"); 

    //var newsURL = "http://10.1.128.106/JsonDohaBackToTemplate/getProjectIDByMAC.svc/mac/10:95:84:11:00:05"; 

    var newsURL = "http://localhost:81/testjs/data.json"; 

    var e; 

    if (window.XMLHttpRequest) { 
     // code for IE7+, Firefox, Chrome, Opera, Safari 
     e = new XMLHttpRequest(); 
    } else { 
     // code for IE6, IE5 
     e = new ActiveXObject("Microsoft.XMLHTTP"); 
    } 

    e.onreadystatechange = function() { 

     var html = " "; 

     if (e.readyState == 4 && e.status == 200) { 
      response = JSON.parse(e.responseText); 

      if(typeof(e.responseText)==="string") { 
       d = e.responseText; 
      } else { 
       if (typeof(e.responseXML)==="object") { 
        d = e.responseXML; 
       }; 
      } 

      var myData = response['JsonProjectIDResult']; 

      //Loop 
      var html = "<ul>"; 
      var a = 0; 
      for(var prop in myData[a]) { 
       if(myData[a].hasOwnProperty(prop)) 
       html += "<li>" + prop + " = " + myData[a][prop] + "</li>"; 
      } 

      resultDiv.innerHTML = html; 
     } 
    }; 

    e.open("GET", newsURL, true); 
    e.send(); 

</script> 

</body> 
</html> 

這是最後一個問題。當我使用var newsURL = "http://localhost:81/testjs/data.json";時,此代碼完全正常工作現在我想使用它var newsURL = "http://10.1.128.106/JsonDohaBackToTemplate/getProjectIDByMAC.svc/mac/10:95:84:11:00:05";

如何僅使用javascript來執行此操作?

+0

看看您的JavaScript控制檯,它報告了哪些錯誤消息? – Quentin

+1

[避開同源政策的方式]的可能重複(http://stackoverflow.com/questions/3076414/ways-to-circumvent-the-same-origin-policy) – Quentin

+2

您的網站很可怕。 – naomik

回答

0

最後,我達到了我的目標以及來自Stackoverflow.com專家的幫助。我感謝大家幫助我解決這個問題。

最後,我只是給這個答案給其他學習者繼續前進。

當您打算使用CORS時,請閱讀此點擊here。它會幫助你引導。

當你要使用CORS。您需要在將數據發送到應用程序的服務器中使用此代碼。

header('Content-type: text/html'); 
header('Access-Control-Allow-Origin: *'); 

我認爲這將有助於某人。

感謝大家

+0

如果是的話請投票向上 – yeshansachithak

0

打開CMD寫命令ipconfig/all下,它會出現在這樣的無線網絡部分有IPv4地址複製並粘貼到你的Android項目的網址,你必須specfied localhost通過更換IP。