2015-04-15 12 views
10

İki ayrı hizmetim var, bir React tek sayfalık uygulama ve bir express API'si ve yeni fetch özelliğini kullanarak SPA'dan API'ye iletişim kurmaya çalışıyorum. İki hizmet farklı etki alanlarında bulunduğundan, SPA'dan API'ye istekte bulunmak için express uygulamasının içinde bir CORS aracı kullanıyorum. Sunucu tarafındaJavaScript'de getirme istekleri ile tanımlama bilgilerini gönderme zorluğu

fetch('http://localhost:8000/hello', { 
    credentials: 'include', 
    mode: 'cors' 
}).then(/* ... */) 

: İstemci tarafında örnek

için, herhangi fetch istekleri de benim express uygulamada çerezleri doğrulayabilir bu şekilde böylece çerezleri içerir yapmaya çalışıyorum

var app = express(); 

app.use(cors({ credentials: true }); 
app.use(cookieParser()); 

app.get('/hello', function (req, res) { 
    // Try and find the cookies sent with the request 
    console.log(req.cookies); 

    res.status(200).json({ message: 'cookies received!' }); 
}); 

Yine de, ne denediğime bakmadan document.cookies kullanarak erişebilmem bile request nesnesindeki herhangi bir tanımlama bilgisine erişemiyorum.

örneği çerez:

name: token 
value: TOKEN_VALUE 
domain: localhost 
path:/
http: false 
secure: false 

herkes bu yaklaşım konusunda bir öneriniz var mı? Herhangi bir yardım büyük takdir edilecektir!

+0

mi:

açık konusu 'de kapsayacak? Ayrıca, bir JSFiddle veya Pnkr var mı? – Trevor

+0

Evet, üzgünüm! Sadece yazım hatası. Ve ne yazık ki hayır, sunucu tarafında bir bileşen içerdiğinden. –

+0

İstemci taraf kodunuzu paylaşabilir misiniz? Kendi sunucumu oluşturabilirim. – Trevor

cevap

7

Kullandığınız getirme çokdüzlemli kitaplık, bu yazıya kadar yazmaz. Kimlik bilgisi için 'kor'ların' içerme 'karşıtı olan değer olmasını bekler. Standardı karşılamak, bir çekme isteği göndermek ve daha iyi desteklenen bir çok işlevli kitaplık kütüphanesine göz atmak için 264 numaralı hattın yerel kopyasını fetch.js olarak düzenlerdim. Eğer `kimlik sonrasında hiçbir kapanış alıntı sadece bir yazım hatası https://github.com/github/fetch/issues/109

https://github.com/github/fetch

https://developer.mozilla.org/en-US/docs/Web/API/GlobalFetch/fetch

+0

Sorunu gidermek için repoda zaten istek istekleri var: https://github.com/github/fetch/pull/113/files – Cordle

+1

Merhaba, aynı sorunu yaşadım. 'include' yerine 'cors' yerine benim için sorunu çözmedim :( –

+1

bu benim sorum: http://stackoverflow.com/questions/35612226/session-can-not-be-saved-sent-from- getirme-sonrası-istek –

İlgili konular