如何仅使用JavaScript从IP地址获取JSON数据

时间:2013-08-26 08:17:36

标签: javascript json

我对JSON还有一点怀疑。我知道如何从本地文件中获取json数据。现在我想从我的网络IP地址获取相同的数据。

这是我的IP地址

  1. 我坐着 - 10.1.128.103
  2. 默认网关 - 10.1.128.1
  3. Json数据传递者 - 10.1.128.106
  4. 这是我在

    中的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}]}
    

    这是我的简单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执行此操作?

2 个答案:

答案 0 :(得分:0)

最后,我从Stackoverflow.com的专家那里得到了我的目标。我感谢大家帮我解决这个问题。

最后,我只是将这个答案提供给其他学习者继续学习。

当您打算使用CORS时,请点击here。它会帮助你指导。

当您打算使用CORS时。您需要在服务器中使用此代码将数据发送到您的应用程序。

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

我认为这对某人有帮助。

感谢所有人

答案 1 :(得分:0)

打开cmd写入命令ipconfig / all下面会有一个wifi部分,下面有ipv4地址拷贝,并将其粘贴到你的android项目url中你已经指定localhost用ip替换它。