Не понимаю, почему, если запрос делать методом get, то всё работает, а если методом post, то пишет ошибку 405 (Method Not Allowed) get Код (Javascript): xmlhttp.open("GET","/myprofile/specialization/update/"+idSpec,true); xmlhttp.send(); PHP: Route::get('/myprofile/specialization/update/{id}', 'MasterController@updateSpecialization'); post Код (Javascript): xmlhttp.open("POST","/",true); xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded') xmlhttp.send('/myprofile/specialization/update/' + idSpec); PHP: Route::post('/myprofile/specialization/update/{id}', 'MasterController@updateSpecialization'); --- Добавлено --- Так тоже не работает Код (Javascript): xmlhttp.open("POST","/",true); xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded') xmlhttp.send('name=category&id=' + idSpec); PHP: Route::post('/category/{?}', function(){ echo 44444; });
--- Добавлено --- Ну тогда причем здесь Где Пост корня? --- Добавлено --- Пора бы уже fetch изучай и с сервис воркерами работать)
Код (Text): var xhr = new XMLHttpRequest(); xhr.open('POST', '/', true); xhr.send('user=person&pwd=password&organization=place&requiredkey=key'); Код (Text): Route::post('/', 'MasterController@updateSpecialization');
Нада же всего недавно сбежал от классики и уже успел забыть. К хорошему быстро привыкаешь Вообще не понимаю зачем мучать себя xhr если в ларке есть уже настроенные jquery axios
Добавил токен PHP: <head> <meta class="token" content="{{ csrf_token() }}"> </head> Проверил, что бы он попадал в переменную token, попадает. Код (Javascript): xmlhttp.open("POST","/",true); xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded', 'X-CSRF-Token', token) xmlhttp.send('name=category&id=' + idSpec); PHP: Route::post('/', function(Request $request){ dd($request); }); И при отправке выводит ошибку в консоле Код (Text): POST http://prorab/ 419 (unknown status) Подчёркивает эту строку Код (Text): xmlhttp.send('name=category&id=' + idSpec);
Оказывается надо было так Код (Javascript): xmlhttp.open("POST","/",true); xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); xmlhttp.setRequestHeader('X-CSRF-Token', token); xmlhttp.send('name=category&id=' + idSpec);
А так разве не прикольнее? Код (Javascript): axios.post('/', { name: 'category', id: idSpec }).then(res => { console.log(res) })
@nospiou не понимаю, почему выдаёт ошибку 500, если токен передаётся? PHP: public function updateOutwards($id) { return $id; } PHP: Route::post('/outwards', 'MasterController@updateOutwards'); Код (Javascript): function outwardsFoo(id) { var token = document.querySelector('.token').getAttribute('content'); var saveOutwards = document.querySelector('.save-outwards'); xmlhttp=new XMLHttpRequest(); xmlhttp.onreadystatechange=function() { if (this.readyState==4 && this.status==200) { console.log(this.responseText); } } xmlhttp.open("POST","/outwards",true); xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); xmlhttp.setRequestHeader('X-CSRF-Token', token); xmlhttp.send('id=' + id); } HTML: <select name="outwards" onchange="outwardsFoo(this.value)"> <option value="1">Нет</option> <option value="2">Да</option> </select>
@Dimon2x смотри логи tail -f path/to/php.log Юзай дебагер https://github.com/barryvdh/laravel-debugbar --- Добавлено --- Постом на упдате? А каже put patch?