2

ここからいくつかのコードを試して目標を達成しようとしましたが、まだ解決策が見つかりません。

目標: GET メソッドを使用して、Web から (URL を介して) JSON オブジェクト配列を取得する必要があります。JavascriptまたはHTMLでそれを行う必要があります。私はjqueryとajaxを使ってjavascriptを試してきました。アイデアは、私が作成している Web ページが読み込まれるときに、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);
        });
    }
});

そして、ここから多くのコードを証明しました(スタックオーバーフロー)...

どうもありがとうございました。私の英語ですみません。

編集:

しばらく前に 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

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 に答える