2

この URLに対して AJAX GET リクエストを作成し、JSON レスポンスを処理しようとしています。その URL に直接アクセスすると、機能します。また、Hurl Itで実行してみましたが、これも機能します。

jQueryを介してJSON/リクエストを作成できない理由について、私は途方に暮れています。JSONP

最初に JSON 応答を作成しようとしましたが、次のようになりました。

XMLHttpRequest cannot load http://hndroidapi.appspot.com/news/format/json/page/. Origin http://hackernews.dev is not allowed by Access-Control-Allow-Origin.

したがって、私はJSONPを試して取得しました

Uncaught SyntaxError: Unexpected token :  hndroidapi.appspot.com:1

行 1 は JSON 応答全体を 1 行にまとめたものですが、コールバックでラップされていません。したがって、この API は JSONP をサポートしていないようです。

したがって、これを解決するために私にできることはありますか? 残念ながら、私は少し困惑しています。これを回避する方法はないようです。

私のコードは次のとおりです。

var ajaxReq = $.ajax({
  url: "http://hndroidapi.appspot.com/news/format/json/page/",
  dataType: "jsonp" 
});
ajaxReq.done(function(d) {
  console.log("DONE", d);
});
ajaxReq.error(function(d) {
  console.log("ERROR", d);
});

どんな助けでも大歓迎です!

4

3 に答える 3

0

http://api.jquery.com/jQuery.getJSON/を使用してみてください。よくわかりません。

于 2012-08-16T19:17:43.763 に答える
0

APIは間違いなくJSONPをサポートしていません(何かが足りない場合、Pythonにあまり詳しくない場合を除く):https ://github.com/glebpopov/Hacker-News-Droid-API/blob/master/Formatter.py唯一のオプションこの時点で、YQLまたはサーバー側プロキシを使用します

于 2012-08-16T19:29:34.860 に答える
0

セキュリティ上の理由から、Web ページが配信されたサイト以外のサイトに対して AJAX リクエストを行うことはできません。

于 2012-08-16T19:13:59.087 に答える