http://localhost:9000 adresinde çalışan bir AngularJS uygulamasına sahibim. Ön uç uygulaması http://localhost:8088'a karşı bir http isteği yapar. Bu yüzden, yanıt başlıklarında CORS'i kurmak zorunda kaldım. Ben // localhost arıyorum ederkenBir yönlendirme yaptığımda tarayıcı konsolunda hata yok İstenilen kaynakta 'Erişim-Denetim-İzin-Kökeni' yok üstbilgisi var
app.use(function(req, res, next) {
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
res.header("Access-Control-Allow-Origin", "*");
res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,OPTIONS');
next();
});
Her şey iyi çalışır:
delete $http.defaults.headers.common["X-Requested-With"];
$http.defaults.headers.common["Accept"] = "application/json";
$http.defaults.headers.common["Content-Type"] = "application/json";
ve sunucu tarafında
(ExpressJS):Ben istemci tarafında tarihinde eklendi 9000 - > // localhost: 8088. Ancak, farklı bir URL'ye (//api.example.com/authorize) yönlendirme yaptığımda, tarayıcı konsolunda aşağıdaki hatayı aldım: XMLHttpRequest, //api.example.com/authorize?response_type=code dosyasını yükleyemiyor. İstenen kaynakta 'Erişim-Kontrol-İzin-Kökeni' başlığı yok. Origin 'null' bu nedenle erişime izin verilmiyor.
app.use(function(req, res, next) {
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
res.header("Access-Control-Allow-Origin", "*");
res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,OPTIONS');
next();
});
app.get('/authorize', function (req, res) {
var response = 'https://api.example.com/authorize?response_type=code';
res.redirect(response);
});
sen yanlış ne olduğu hakkında bir ipucu var mı? Sorun, yeniden yönlendirme ve CORS ile ilgisi var gibi görünüyor.
Evet, sorun şu ki, https://api.example.com Access-Control üstbilgileriyle yanıt vermiyor. – idbehold