5

NYTimes API が JSON を正しく返すのに問題があります。私は彼らに対して私が間違っていることだと確信しています。ESPN API を使用してこれを試したところ、問題なく動作しました。何が欠けているのかわからない。コードを見てみましょう。

app.controller('espn', function($scope,$http){
      //var url = "http://api.espn.com/v1/sports/news/headlines/top?limit=9&apikey=n39jrj4s97tvhxym4qgacnrd&callback=JSON_CALLBACK";
      var url = "http://api.nytimes.com/svc/news/v3/content/all/all/.json?&limit=20&api-key=1f6ef65ff5bb290bdcb01da786c788de:2:67858849&callback=JSON_CALLBACK";
     $http.jsonp(url)
        .success( function(data){
            console.log(data);
      });
});

エラーコンソールにこのエラーが表示されます。 キャッチされない SyntaxError: 予期しないトークン:

こちらがプランカーです。プランカー

4

1 に答える 1

3

JSONP を呼び出しているため、返された json は関数内のラッパーでなければならないことを意味します。

例えば:

JSON_CALLBACK({"status":"OK"});//this is actually how the server suppose to answer back

それで、あなたが送信したことがわかりましたcallback=JSON_CALLBACKが、サーバーはへの関数呼び出しで応答しませんJSON_CALLBACK

サーバーがJSONPをサポートするように強制する必要があります


http://api.nytimes.com/svc/news/v3/content/all/all/.json?&limit=20&api-key=1f6ef65ff5bb290bdcb01da786c788de:2:67858849&callback=JSON_CALLBACKにアクセスする
と、サーバーがJSONP として応答する

あなたは多分それをハックすることができます、ここを見てください:
http://jquery-howto.blogspot.co.il/2013/09/jquery-cross-domain-ajax-request.html

于 2013-10-29T21:04:43.000 に答える