अद्यतन: कोणीय 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);
});