2012-09-20 11 views
9

द्वारा अनुमति नहीं दी जाती है जब मैं Meteor.http.call("GET") विधि के साथ मेटीर में JSON क्वेरी के लिए बाहरी सर्वर को कॉल करने का प्रयास करता हूं तो मुझे त्रुटि संदेश मिलता है "एक्सेस-कंट्रोल-अनुमति द्वारा अनुमति नहीं है -मूल"।Meteor.http.call को एक्सेस-कंट्रोल-अनुमति-उत्पत्ति

मैं अपने उल्का ऐप को अन्य सर्वरों पर HTTP कॉल करने की अनुमति कैसे दूं? अभी मैं इसे स्थानीयहोस्ट पर चलाता हूं।

कोड मैं चलाने यह है:

Meteor.http.call("GET", 
       "http://api.vasttrafik.se/bin/rest.exe/v1/location.name?authKey=XXXX&format=json&jsonpCallback=processJSON&input=kungsportsplatsen", 
        function(error, result) { 
          console.log("test");  
         } 
       ); 

उत्तर

4

वहाँ StackOverflow पर इस के समान अन्य सवाल कर रहे हैं।

आप उस सर्वर द्वारा प्रतिबंधित हैं जब आप क्लाइंट साइड (AJAX) से ऐसा करते हैं तो आप कनेक्ट करने का प्रयास कर रहे हैं। हल करने के लिए

एक तरीका यह है कि आप बाहरी सर्वर के लिए उपयोग किया है, तो आप कुछ अनुमति देने के लिए हेडर फाइल संशोधित कर सकते हैं, या द्वारा सभी मूल:,

Access-Control-Allow-Origin: * 

लेकिन यदि आप पर कॉल सर्वर पक्ष और कॉलबैक फ़ंक्शन प्रदान नहीं करते हैं, कॉल को समकालिक रूप से बनाया जाएगा, इस प्रकार AJAX के साथ नहीं, और यह सफल होना चाहिए।

यहाँ

Meteor.methods({checkTwitter: function (userId) { 
    this.unblock(); 
    var result = Meteor.http.call("GET", "http://api.twitter.com/xyz", {params: {user: userId}}); 
    if (result.statusCode === 200) return true 
    return false; 
}}); 
+0

कैसे आप अपनी प्रतिक्रिया वस्तुओं को यह जोड़ सकता है? ताकि यह सीओआरएस या ऐसा कुछ सक्षम कर सके? कोड स्निपेट शायद? – garmoncheg

संबंधित मुद्दे