3

JQuery getJSON 関数を使用して JSON データを貼り付けようとしています。REST クエリは次のとおりです。

http://query.yahooapis.com/v1/public/yql?q=select%20woeid%20from%20geo.places%20where%20text%20%3D%20%22london%22&format=json&jsoncallback=?

「データ」を解析してWOEID値を取得するために使用しているスクリプトは、以下では機能しないようです。

 $.getJSON("http://query.yahooapis.com/v1/public/yql?"+
                "q=select%20woeid%20from%20geo.places%20where%20text%20%3D%20%22"+
                "london"+
                "%22&format=json&jsoncallback=?",
        function(data){
  console.log("json: " + data);
  var datatmp = data;
          if(data.results[0]){
            var data = filterData(data.results.place[0]);
           }
         }
       );

誰かが私が間違っていることを言うことができますか? リンクテキスト

4

4 に答える 4

6

あなたのコードにはいくつかの調整が必要でした。更新されたバージョンは次のとおりです。

$.getJSON("http://query.yahooapis.com/v1/public/yql?"+
      "q=select%20woeid%20from%20geo.places%20where%20text%20%3D%20%22"+
      "london"+
      "%22&format=json&jsoncallback=json",
      function(data){
          if(data.query.results){
              $.each(data.query.results.place, function(i, v) {
                  console.log("woeid #" + i + ": " + v["woeid"]);
              });
          }
      });​

resultsオブジェクトは下にあるため、最初にそこに入る必要があります。query上記のコードは、返された最初の場所の woeid を繰り返し処理し、それらに警告します...これは単なるスターターであり、最終的に何をしたかったのかわかりませんwoeidが、うまくいけばこれ始めましょう。 上記のコードがここで動作していることを確認できます

于 2010-04-08T23:27:07.293 に答える
3

この行で:

      if(data.results[0]){
        var data = filterData(data.results.place[0]);
       }

存在するかどうかを確認しますresults[0]が、使用しません。これに変更することで問題が解決すると思います:

      if(data.results[0]){
        var data = filterData(data.results[0].place[0]);
       }
于 2010-04-08T23:19:12.153 に答える
3
于 2010-04-08T23:35:00.293 に答える
2

質問があります。その URL ( http://query.yahooapis.com/.. .) にアクセスできますか? それは「同一オリジンポリシー」に違反していませんか?

于 2010-04-08T23:34:55.193 に答える