2016-03-20 2 views
0

Я делаю бэк-офисную форму для загрузки изображений с помощью Symfony 2.5.12 (да, я знаю, что я немного устарел, но я скоро буду работать)). Я хочу загрузить изображения через AJAX, но я получаю перенаправление 302 в форму входа в каждый запрос AJAX, который я отправляю.Symfony2 отправьте форму регистрации на каждый запрос AJAX

Вот это JS часть на мой материал (он упрощается, потому что на данный момент я просто хочу, чтобы сделать успешный вызов AJAX без 302 перенаправление на страницу входа в систему, так что я удалил данные связанные вещи):

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

А вот мое действие в моем контроллере, связанное с/админом/URL uploadImage:

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

Каждого/администратором URL требует ROLE_ADMIN роли, я определил его в security.yml:

security: 
    #... 
    access_control: 
    - { path: ^/admin, roles: ROLE_ADMIN } 

Таким образом, как правило, форма входа в систему отображается, когда я хочу получить доступ к этому типу URL. Но когда я запускаю свой вызов AJAX, я уже зарегистрирован, потому что я на странице/admin/gallery.

Кто-нибудь может понять, что не так с тем, что я делаю?

спасибо.

+0

Является ли печенье отправлено с запросом AJAX? – Miro

+0

В заголовках запросов ничего не говорится о cookie. – Cyrille

ответ

0

Я абсолютно не знаю почему, но, похоже, проблема была связана с реализацией реализации whatwg-fetch. Я заменил его axios, и проблема исчезла.

Смежные вопросы