2012-09-20 18 views
9

Meteor'da Meteor.http.call("GET") yöntemiyle JSON sorguları için bir dış sunucu aramayı denediğimde, "Erişim-Denetim-İzin Verme'ye izin verilmiyor" hata iletisini alıyorum -Menşei".Meteor.http.call, Access-Control-Allow-Origin'e izin vermiyor

Meteor uygulamamın diğer sunuculara HTTP çağrıları yapmasına nasıl izin verebilirim? Şu anda localhost üzerinde çalıştırıyorum.

koşuyorum kod şudur:

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");  
         } 
       ); 

cevap

4

StackOverflow'daki buna benzer başka sorular var.

İstemci tarafında (AJAX) bunu yaparken bağlanmaya çalıştığınız sunucu tarafından kısıtlanmışsınız. Eğer aramayı yerleştirirseniz,

Access-Control-Allow-Origin: * 

Ancak:

bir yolu harici bir sunucuya erişimi varsa, bazı izin vermek başlık dosyasını değiştirmek veya tüm kökenleri ile yapabilirsiniz çözmek için sunucu tarafı ve bir geri arama işlevi sağlamaz, çağrı eşzamanlı olarak yapılır, böylece AJAX ile değil, ve başarılı olmalıdır.

İşte

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

nasıl tepki nesnelere bu ekleyebilir mi? Böylece CORS veya böyle bir şey sağlayacak? Kod pasajı belki? – garmoncheg

İlgili konular