4

私はJSONPを使用して、WOTAPIからいくつかの結果を取得しようとしています。以下の私のコードを参照してください:

  // Prepare the URL
  var url='http://api.mywot.com/0.4/public_link_json?hosts=amazon.co.uk/&callback=cbfunc';

  // Lookup
  $.getJSON(url, function(data){
    alert('success');
  });

これは何らかの理由で失敗しているようです(ブラウザにアラートが表示されないため)。いくつかの調査の結果、返されるJSONPには、コールバック関数の最後(最後の中括弧と閉じ括弧の間)にスペースがあるようです。

cbfunc({ "amazon.co.uk": { "target": "amazon.co.uk", "0": [ 95, 88 ], "1": [ 95, 87 ], "2": [ 95, 87 ], "4": [ 95, 87 ] } } )

オンラインJSONフォーマッター(http://jsonformatter.curiousconcept.com/)を使用した後、この単一のスペースはスペースを処理できないため、$。getJSON()関数全体をスローしているように見えますか?

JSONPフォーマットは本当にその特定のものですか?Javascriptは空白を無視すると思いましたか?私はこれを正しく診断しましたか?JSONPを処理してスペースを削除するためにできることはありますか?

よろしくお願いします。私はjQUeryBTWを使用しています。

4

1 に答える 1

8

これを正しく診断しましたか?

いいえ、これは空白とは関係ありません。Javascriptは空白にとらわれません:-)

ドキュメントの JSONP セクションで説明されているのではcallback=?なく、URL で使用する必要があります。callback=cbfunc

これがライブデモです: http://jsfiddle.net/Ssfk2/

?を、使用している匿名の成功コールバックの名前に置き換えるのは jQuery次第です。

于 2012-06-24T14:31:20.527 に答える