0

現在 get.JSON を使用して、Foursquare API からデータを取得しています (正確には venue_history、認証は必要ありません)。複数の URL から json データを取得できます。私が行った方法はあまり効果的ではないと言われました.私の同僚は、URLを配列に入れ、カウンターを追加して、各URLを個別に解析することについて言及しましたか? 各 URL のデータを使用して視覚化したいと考えています (まだその段階ではありませんが、道のりは長いです!)。

これが私のコードです:

<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script>
$(document).ready(function(){
  $("button").click(function(){
    $.getJSON('https://api.foursquare.com/v2/users/self/venuehistory?oauth_token=2ZO1PQOUAD5SXRAJOLZVH53RBQ1EB2C23FE2GUZLJYQUJ3SY&v=20121108',
    function(data){
      console.log(data);

   $.getJSON('https://api.foursquare.com/v2/users/1050511?oauth_token=2ZO1PQOUAD5SXRAJOLZVH53RBQ1EB2C23FE2GUZLJYQUJ3SY&v=20121109',
   function(data){
      console.log(data);

   $.getJSON('https://api.foursquare.com/v2/users/1050511?oauth_token=2ZO1PQOUAD5SXRAJOLZVH53RBQ1EB2C23FE2GUZLJYQUJ3SY&v=20121109',
   function(data){
      console.log(data);

   $.getJSON('https://api.foursquare.com/v2/users/1050511?oauth_token=2ZO1PQOUAD5SXRAJOLZVH53RBQ1EB2C23FE2GUZLJYQUJ3SY&v=20121109',
   function(data){
      console.log(data);


          });
        });
      });
    });
  });
});
</script>
</head>
<body>

<button>Send an HTTP POST request to a page and get the result back</button>

</body>
</html>

私の質問は、これをより効率的な方法で行うにはどうすればよいですか?

どうもありがとう!

ここに私の新しいコードがあります:

<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script>
$(document).ready(function () {
  $("button").click(function GetJSONResult(url)
{
  $.getJSON(url,
   function(data){
    console.log(data);
    });
} 

GetJSONResult('https://api.foursquare.com/v2/users/self/venuehistory?oauth_token=2ZO1PQOUAD5SXRAJOLZVH53RBQ1EB2C23FE2GUZLJYQUJ3SY&v=20121108');
GetJSONResult('https://api.foursquare.com/v2/users/self/venuehistory?oauth_token=2ZO1PQOUAD5SXRAJOLZVH53RBQ1EB2C23FE2GUZLJYQUJ3SY&v=20121108');
GetJSONResult('https://api.foursquare.com/v2/users/self/venuehistory?oauth_token=2ZO1PQOUAD5SXRAJOLZVH53RBQ1EB2C23FE2GUZLJYQUJ3SY&v=20121108');
GetJSONResult('https://api.foursquare.com/v2/users/self/venuehistory?oauth_token=2ZO1PQOUAD5SXRAJOLZVH53RBQ1EB2C23FE2GUZLJYQUJ3SY&v=20121108');


});
</script>
</head>
<body>

<button>Send an HTTP POST request to a page and get the result back</button>

</body>
</html>

「予期しない識別子」と言い続けています。これは、すべての「GetJSONResult」を間違った場所に置いたためだと思います。関数内ではなくコードの一番下にある場合、GetJSONResult が未定義であることがわかりましたか? どんな助けでも感謝します。

4

1 に答える 1

1

関数を作成するだけです

function GetJSONResult(url)
{
  $.getJSON(url,
  function(data){
    console.log(data);
   });
}

そしてそれを使用して呼び出す

GetJSONResult('https://api.foursquare.com/v2/users/self/venuehistory?oauth_token=2ZO1PQOUAD5SXRAJOLZVH53RBQ1EB2C23FE2GUZLJYQUJ3SY&v=20121108');

または、投稿に記載されているような配列を使用する場合:

var urls = ['https://api.foursquare.com/v2/users/self/venuehistory?oauth_token=2ZO1PQOUAD5SXRAJOLZVH53RBQ1EB2C23FE2GUZLJYQUJ3SY&v=20121108',
'https://api.foursquare.com/v2/users/self/venuehistory?oauth_token=2ZO1PQOUAD5SXRAJOLZVH53RBQ1EB2C23FE2GUZLJYQUJ3SY&v=20121108',
'https://api.foursquare.com/v2/users/self/venuehistory?oauth_token=2ZO1PQOUAD5SXRAJOLZVH53RBQ1EB2C23FE2GUZLJYQUJ3SY&v=20121108']

for (var i=0;i<urls.length;i++)
{ 
    GetJSONResult(urls[i]);
}

投稿したスクリプトブロックでは、次のようになります

 <script type="text/javascript">
 $(document).ready(function () {
 $("button").click(function(){
   GetJSONResult('https://api.foursquare.com/v2/users/self/venuehistory?oauth_token=2ZO1PQOUAD5SXRAJOLZVH53RBQ1EB2C23FE2GUZLJYQUJ3SY&v=20121108');
   GetJSONResult('https://api.foursquare.com/v2/users/self/venuehistory?oauth_token=2ZO1PQOUAD5SXRAJOLZVH53RBQ1EB2C23FE2GUZLJYQUJ3SY&v=20121108');
   GetJSONResult('https://api.foursquare.com/v2/users/self/venuehistory?oauth_token=2ZO1PQOUAD5SXRAJOLZVH53RBQ1EB2C23FE2GUZLJYQUJ3SY&v=20121108');
   GetJSONResult('https://api.foursquare.com/v2/users/self/venuehistory?oauth_token=2ZO1PQOUAD5SXRAJOLZVH53RBQ1EB2C23FE2GUZLJYQUJ3SY&v=20121108');
   });
});


function GetJSONResult(url)
{
   $.getJSON(url,
    function(data){
     console.log(data);
    });
}   
 </script>
于 2012-11-12T15:21:18.277 に答える