2

我一直在尝试这里的一些代码来实现我的目标,但我还没有找到解决方案。

目标:我必须使用 GET 方法从网络(通过 URL)获取 JSON 对象数组。我必须在 Javascript 或 HTML 中做到这一点。我一直在尝试使用 jquery 和 ajax 使用 javascript。这个想法是当我正在加载的网页时,我必须获取 JSON 对象数组。我想将获取的 JSON 对象数组保存在一个字符串中以对其进行操作。

我必须从http://www.example.com/example获取的 JSON 数组示例

[
    {
        "type": "1",
        "id": "50a92047a88d8",
        "title": "Real Madrid"
    },
    {
        "type": "1",
        "id": "500cbb1a5ef23",
        "title": "Fernando Alonso"
    }
]

当我在浏览器中运行我的代码时,我总是没有得到任何响应。

这些是我尝试过的一些代码:

HTML 代码

<html>
<head>
    <script src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
    <script src="http://code.jquery.com/ui/1.8.23/jquery-ui.min.js"></script>
    <script type="text/javascript" src="script.js"></script>
    <link type = "text/css" rel = "stylesheet" href = "stylesheet.css"/>
</head>
<body onload = "httpGet('http://www.example.com/example')">
</body>
</html>

Javascript代码

function httpGet(theUrl)
{
$.getJSON(theUrl, function(data)
{
    $.each(data, function()
    {
        console.log(this['title']);
    })
});
}

其他 Javascript 代码

$.ajax(
{
    url: theUrl,
    type: 'GET',
    dataType: 'json',
    accept: 'application/json',
    success: function(data)
    {  
        console.log(data);
        var objets= $.parseJSON(data);

        $.each(objets, function(i, obj)
        {
           console.log(obj.title);
        });
    }
});

而且我已经从这里证明了很多代码(stak 溢出)......

非常感谢,请原谅我的英语。

编辑:

前段时间我尝试使用 stringify,但我真的不知道它是如何工作的。我证明了以下几点:

function httpGet(theUrl)
{
    var xmlHttp = null;
    xmlHttp = new XMLHttpRequest();
    xmlHttp.open("GET", theUrl, true ); // I tried with true and with false
    xmlHttp.send();
    var answer= xmlHttp.responseText;
    var str = JSON.stringify(answer);
    console.log(str);
    var jsonResponse = JSON.parse(str);
    console.log(jsonResponse);
}
4

2 回答 2

-1

您不能使用javascript跨域获取数据,您必须将数据放在您的域下或使用jsonp来获取它,或者只是将其打印在页面上。

于 2013-08-21T11:44:50.507 回答
-1

我用一行 php 代码找到了我的问题的解决方案

<?php
    echo file_get_contents("http://www.example.com/example");
?>

之后,我需要在 javascript 文件中引用 php 文件。最后,我可以访问 JSON 对象数组的键值对。

function httpGet()
{    
    $.getJSON('phpfile.php', function(data)
    {
        $.each(data, function(i, obj) 
        {
            console.log("object: " + i + ", title: " + obj.title);
        });
    });
}

在 HTML 文件中,我修改了下一行:

<body onload = "httpGet()">
于 2013-08-23T09:05:02.760 回答