更新:Angular 1.6以降
JSON_CALLBACK文字列を、コールバックパラメーター値の移動先を指定するためのプレースホルダーとして使用できなくなりました
ここで、次のようにコールバックを定義する必要があります。
$http.jsonp('some/trusted/url', {jsonpCallbackParam: 'callback'})
経由$http.defaults.jsonpCallbackParamでパラメータを変更/アクセス/宣言、デフォルトはcallback
注:URLが信頼済み/ホワイトリストに追加されていることも確認する必要があります。
$sceDelegateProvider.resourceUrlWhitelist
または明示的に信頼されます:
$sce.trustAsResourceUrl(url)
success/errorされた非推奨。
$httpレガシー約束法successとはerror推奨されておらず、V1.6.0に削除されます。代わりに標準のthenメソッドを使用してください。に$httpProvider.useLegacyPromiseExtensions設定されている場合false、これらのメソッドはをスローし$http/legacy errorます。
使用する:
var url = "http://public-api.wordpress.com/rest/v1/sites/wtmpeachtest.wordpress.com/posts"
var trustedUrl = $sce.trustAsResourceUrl(url);
$http.jsonp(trustedUrl, {jsonpCallbackParam: 'callback'})
.then(function(data){
console.log(data.found);
});
以前の回答:Angular 1.5.x以前
あなたがしなければならないすべてはそうcallback=jsonp_callbackするcallback=JSON_CALLBACKように変更することです:
var url = "http://public-api.wordpress.com/rest/v1/sites/wtmpeachtest.wordpress.com/posts?callback=JSON_CALLBACK";
そして.success、戻りが成功した場合、関数はそれを持っているように起動するはずです。
このようにすることで、グローバルスペースを汚す必要がなくなります。これは、こちらのAngularJSドキュメントに記載されています。
この方法を使用するようにマットボールのフィドルを更新しました:http : //jsfiddle.net/subhaze/a4Rc2/114/
完全な例:
var url = "http://public-api.wordpress.com/rest/v1/sites/wtmpeachtest.wordpress.com/posts?callback=JSON_CALLBACK";
$http.jsonp(url)
.success(function(data){
console.log(data.found);
});