PUT FormData laravel. Не принимаются данные

461
18 января 2017, 02:59

Отправляю данные серверу для обновления с помощью метода PUT. Данные отправляю с помощью FormData. Данные отправляются, это видно в Chrome, но сервер не видет данные.

$request = $request->all()

С методом POST все работает нормально. Отправляю текстовые данные и файл

Как мне обновить данные? Переделывать роуты под метод POST?

UPD

В Controller я пока что, просто пытаюсь получить ответ от сервера

public function update(Request $request, $id)
    {
        $request = $request->all();
        dd($request);
}

Этот способ работает, если отправлять данные в формате POST, то все нормально работает. Использую вместо vue-resource axios

save() {
                var vm = this
                var form = document.querySelector('form');
                var formdata = new FormData(form)
                axios[this.method](this.store, formdata)
                    .then(function (response) {
                        if (response.data.saved) {
                            vm.$router.push(vm.redirect)
                        }
                    })
                    .catch(function (error) {
                        console.log(error)
                    })
            }

Кстати вот, если я напишу $reqyest->getContent(), то я получу данные в таком формате, но как их обрабатывать?

b"""
------WebKitFormBoundaryFEIpstOEw72VwaAe\r\n
Content-Disposition: form-data; name="name"\r\n
\r\n
Moscow\r\n
------WebKitFormBoundaryFEIpstOEw72VwaAe\r\n
Content-Disposition: form-data; name="cost"\r\n
\r\n
1.00\r\n
------WebKitFormBoundaryFEIpstOEw72VwaAe\r\n
Content-Disposition: form-data; name="picture"; filename="angel.png"\r\n
Content-Type: image/png\r\n
\r\n
...HIDEN...
------WebKitFormBoundaryFEIpstOEw72VwaAe\r\n
Content-Disposition: form-data; name="description"\r\n
\r\n
<p>1</p>\r\n
\r\n
------WebKitFormBoundaryFEIpstOEw72VwaAe--\r\n
"""
Answer 1

Итак имеем: данные FormData нужно отправить методом пост, но добавить в форму

<input name="_method" type="hidden" value="PUT"> 

или перед отправкой сделать так

formData = new FormData(form)
formData.append("_method", "PUT");
READ ALSO
Нежелательное изменение HTML DOMDocument

Нежелательное изменение HTML DOMDocument

При загрузке шаблона smarty в DOMDocument и последующей выгрузке через saveHTML, появляются нежелательные теги <p> в начале и в конце контентаТакже...

382
Сравнение времени PHP (H:m)

Сравнение времени PHP (H:m)

В базе хранятся данные о времени работы компании в формате: 09:00,18:30; 12:00,02:00 и тд

419
Как использовать FOSOAuthServerBundle в symfony 2.8

Как использовать FOSOAuthServerBundle в symfony 2.8

Начал открывать для себя symfony2Решил прикрутить oAuth2 (FOSOAuthServerBundle), сделал всё по доке

364
Как проверить с помощью кода, канал online или offline на twitch

Как проверить с помощью кода, канал online или offline на twitch

Я добавил себе канал на сайт, но я даже не имею представления как проверить он ведет сейчас трансляцию или нет

380