अद्यतन: कोणीय 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 में निकाल दिया जाएगा। इसके बजाय मानक तो विधि का उपयोग करें। अगर $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);
});
पिछला उत्तर: कोणीय 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);
});