2016-05-28 25 views
0

jqueryを使用してJSONデータを読み取ろうとしています。具体的には、このURLからJSONを読み込もうとしています:http://mkweb.bcgsc.ca/color-summarizer/?url=http://scontent-a.cdninstagram.com/hphotos-xfa1/t51.2885-15/10643840_701797013239098_657737630_a.jpg&precision=low&num_clusters=3&json=1&callback=
私はこのエラーを取得しておくしかし: Uncaught SyntaxError: Unexpected token :
ここに私のjQueryのです:
JSONデータをjqueryで読み込みます。 Uncaught SyntaxError:予期しないトークン:

$(document).ready(function() { 

     var one = "1" 

     $.getJSON('http://mkweb.bcgsc.ca/color-summarizer/?url=http://scontent-a.cdninstagram.com/hphotos-xfa1/t51.2885-15/10643840_701797013239098_657737630_a.jpg&precision=low&num_clusters=3&json=1&callback=?', function(result) { 

      document.write(result.clusters.one.rgb[0]); 

     }); 
    }); 

私はJSONコードで非常に最初のコロンでのエラーを取得しています。
私が理解するところでは、JSONデータは実際にJavascriptとして読み込まれています。どうしたらいいですか?

+0

URLがJSONPをサポートしていないか、または少なくとも 'コールバック= xyz'パラメータを提供するサポートしていないと気を付けます。 – andlrc

+0

無関係ですが、あなたの 'var one'トリックは動作しません。 rgb [0] ' – JAAulde

+0

私はコールバック=を追加しました。なぜなら、あなたは' result.clusters [one] .rgb [0] 'や' result.clusters ['1']を使う必要があります。パラメータは、前にこのエラーを受け取っていたので、 'No 'Access-Control-Allow-Origin'ヘッダは要求されたリソースに存在します。 ' – zacbacon11

答えて

0

を読むAPI Docs JSONP経由でデータを取得するために、jsnop=1パラメータを指定する必要があることがわかりました。

間に合わ正しいコードはこのようなものになるだろう:

$(document).ready(function() {   
     $.ajax({ 
      url: 'http://mkweb.bcgsc.ca/color-summarizer/', 
      type: 'GET', 
      dataType: 'jsonp', 
      jsonpCallback: 'colorsummary', 
      data:{ 
       url: 'http://scontent-a.cdninstagram.com/hphotos-xfa1/t51.2885-15/10643840_701797013239098_657737630_a.jpg', 
       precision: 'low', 
       num_clusters: '3', 
       jsonp: '1' 
      }, 
      success: function(result){ 
       document.write(result.clusters['1'].rgb[0]); 
      } 
     }); 
    }); 

私はまた、あなたが簡単にパラメータを変更できるように要求を構造化。

PS:そのJSON表記([「1」]クラスタ内など)

+0

いいえ、APIドキュメントを参照すると、$ .getJSON()はajax呼び出しの短いハンドルです。 http://api.jquery.com/jquery.getjson/ – SEUH

+0

私はカラー・サマライザAPIについて話していました。リクエストをより簡単に管理するために$ .ajax()を使用しました。 – yuriy636

関連する問題