2016-03-20 18 views
0

Symfony 2.5.12 kullanarak bir arka ofis imaj yükleme formu yapıyorum (evet biliyorum biraz güncel değil, ama yakında çalışacağım :)). Görüntüleri AJAX ile yüklemek istiyorum, ancak gönderdiğim her AJAX isteğindeki giriş formuna bir 302 yönlendirmesi alıyorum. İşte Symfony2 her AJAX isteğinde giriş formu geri gönder

eşyalarımı JS parçası (çünkü ben sadece 302 giriş sayfasına yönlendirir olmadan başarılı AJAX çağrısı yapmak istiyorum an için basitleştirilmiş, bu yüzden veri ilişkili şeyler silinir) olan:

form.addEventListener('submit', event => { 
    event.preventDefault(); 

    const url = form.getAttribute('action'); // '/admin/uploadImage' 

    fetch(url) 
     .then(response => response.json()) 
     .then(data => console.log(data)) 
     .catch(error => console.error(error)); 
}); 

Ve burada/admin/uploadImage URL'ye bağlı benim denetleyicisi benim eylem, geçerli:

:

public function uploadAction() { 
    return new JsonResponse(array('test' => 'hello world')); 
} 

Her/yönetici URL'ye ROLE_ADMIN rol gerektirir, ben security.yml bunu tanımlanmış

Bu şekilde, bu tür bir URL'ye erişmek istediğimde giriş formunun göstermesi normaldir. Ama AJAX çağrımı tetiklediğimde, zaten giriş yaptım çünkü/admin/galeri sayfasıyım.

Yaptığım şeyde neyin yanlış olduğunu bilen var mı?

Çok teşekkür ederim.

+0

Çerez AJAX isteği ile gönderiliyor mu? – Miro

+0

İstek başlıklarında çerezle ilgili hiçbir şey yoktur. – Cyrille

cevap

0

Nedenini bilmiyorum, ancak sorunun whatwg-fetch getirme uygulamasıyla ilgili olduğu anlaşılıyor. axios ile değiştirdim ve sorun gitti.