2014-07-03 33 views
6

Bu, internet üzerinden edinilebilecek genel bir sorun olabilir, Ama sahip olduğum şey burada. AngularJS - GET isteği için HTTP üstbilgisini ayarla

Adding a custom header to HTTP request using angular.js

Yani aynı izledi ve başlığını ayarlama

kod değişti

var config = {headers: { 
       'Authorization': 'XXXYYY token="xxxxxxxx", realm="dash-api"', 
       "X-Testing" : "testing" 
       } 
      }; 

olsun isteği çağrı:

return $http.get(api.host+'/agn/12/adv/1860/cam?status=1', config).then(function (response) { 
        return { 
         status:"success", 
         data:response.data.data.active 
        }; 
       }, function (error) { 
        return { 
         status:"error", 
         data:error 
        } 
       }); 

Gördüğünüz gibi istek yöntem türü OPTIONS vegidiyor İstekte 10 jeton belirtilmemiş.

Lütfen bu konuda bana yardımcı olacağım, çünkü iki gün boyunca mücadele ediyorum.

Çok teşekkürler.

enter image description here

+1

CORS'ü sorun olarak mı düşündünüz? http://stackoverflow.com/questions/19554414/angularjs-disabling-cors – miqid

+1

Oldukça emin bir CORS isteği. İstek, uygulamayı barındıran sunucuya aynıysa neden "api.host" bile olsa orada olmayacağından emin değil. Güvenli olmayan bir kanal üzerinden jeton kimlik doğrulaması yaptığından, API sağlayıcısının CORS'e de izin vermemesi mükemmel bir anlam ifade eder. – ivarni

cevap

1

Eğer sen, yazar olarak aynı sorunu ve bu yazının yazarını alıyorsanız bakın linke bir göz atın eğer Bence bir CORS mesele olduğunu devlet yaptı - sunucuyu o CORS desteğiyle iletişim kurmuyordu, bunu kendi görevine yaptığı yorumda doğruladı.

Neden bir OPTIONS isteği aldığınıza göre, CORS, gerçek talebi yapmadan önce CORS'nin desteklenip desteklenmeyeceğini belirlemek için sunucuya "uçuş öncesi" bir istek yapar.

0

Büyük olasılıkla bir çapraz başlangıç ​​isteği (CORS) yaptığınız için bir OPTIONS isteği görüyorsunuz. Öncelikle sunucunuz CORS'i desteklemelidir (yanıtta bir Access-Control-Allow-Origin başlık seti ile OPTIONS isteğine yanıt vererek).

Kimliği doğrulanmış bir çapraz kaynak isteği yapıyorsanız, istekte bulunarak withCredentials değerini true olarak ayarlamanız gerekir.

$http.get(url, { withCredentials: true }) 
İlgili konular