Intereting Posts
Разбор JSON с PHP Как выбрать идентификатор строки mysql для предложения WHERE в UPDATE, INSERT, DELETE через php? Как удалить символ \ ufeff в моих сценариях веб-страницы? Как использовать подготовленный оператор pdo для порядка и ограничений? Извлечь часть из URL-адреса для строки запроса Laravel 5: перенаправление на внешнюю ссылку outisde localhost / server Как работает «почта» PHP? Чтение RAW-данных из запроса Flash POST (изображения) Как экспортировать всю страницу или html-контент с помощью Highcharts, а не только в диаграмму? Facebook FQL пользовательская таблица `sex` field: как вернуть мужчину / женщину, даже пользователь использует другой язык? Проблема NeoClientPHP при извлечении данных из Neo4J Соединение fsockopen ssl не работает PHP добавляет дни до сегодняшнего дня Динамически фильтровать сообщения WordPress с выпадающим меню (используя php и ajax) используя preg_match для обнаружения персидских (фарси) символов в строке

Ошибка возврата Ajax Laravel 500 Ошибка

Я получаю каждое значение слайдера в слайде (Jquery Ui Slider) через Ajax для моего контроллера.

Slider + Ajax выглядит так:

$("#sliderNumCh").slider({ range: "min", min: 0, max: 20, step: 1, value: numbersOfChapters, change : function(e, slider){ $('#sliderAppendNumCh').empty(); var sliderValue = slider.value; var getSliderVal = document.getElementById('sliderValue').value = sliderValue; var getPrId = document.getElementById('editId').value; $.ajaxSetup({ headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') } }); $.ajax({ type: 'post', url: "{{ Route('editProductPost', $product->id) }}", headers: { 'X-Requested-With': 'XMLHttpRequest' }, data: { value: getSliderVal, productId : getPrId }, success: function (option) { console.log(getSliderVal); } }); }, }); 

Таким образом, у меня есть это в моей голове:

 <meta name="csrf-token" content="{{ csrf_token() }}"> 

Мой маршрут выглядит так:

 Route::post('edit/{productID}', ['as' => 'editProductPost', 'uses' => 'ProductController@editProductPost']); 

И в моем методе Controller я называю это следующим образом:

 public function editProductPost(Request $request) { $sliderValue = $request->get('value'); Log::info($sliderValue); return view('productRom.edit', [ 'sliderValue' => $sliderValue ]); } 

Log :: info ($ sliderValue) сообщает мне, что я получаю правильное значение ползунка на каждом слайде.

Когда я пытаюсь вернуться к моему редактированию, я получаю эту ошибку в консоли:

POST http: // localhost / myApp / public / product / edit / 73 500 (Внутренняя ошибка сервера)

Как я могу это решить?

редактировать

Поскольку у меня есть эта строка, на мой взгляд:

 <form action="{{ route($route) }}"...> 

Переменная маршрута не была определена, поэтому я добавил ее в свой оператор return.

 return view('productRom.edit', [ 'sliderValue' => $sliderValue, 'route' => 'editProductPost' ]); 

Ошибка исчезла, но когда я пытаюсь получить доступ к переменной $sliderValue следующим образом:

 <p>{{ isset($sliderValue) ? $sliderValue : "nothing" }}</p> 

он nothing печатает

редактировать

контроллер:

  public function editProductPost(Request $request) { return response()->json([ 'sliderValue' => $request->get('value') ]); } 

Просмотр (Ajax):

  $.ajaxSetup({ headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') } }); $.ajax({ type: 'post', url: "{{ Route('editProductPost', $product->id) }}", headers: { 'X-Requested-With': 'XMLHttpRequest' }, data: { value: getSliderVal, productId : getPrId }, success: function (response) { // check it has some data if (response.length) { // spit it out console.log(response); } else { console.log('nothing returned'); } } }); 

Ваш метод контроллера должен выглядеть следующим образом:

 public function editProductPost(Request $request) { return response()->json([ 'sliderValue' => $request->get('value') ]); } 

Вы не должны возвращать представление в запрос ajax.

Ваш метод успеха ajax должен выглядеть так (например):

 // first arg is the data returned by the controller method success: function (response) { console.log(response); } 

и это должно выступить примерно так:

 { 'sliderValue': 4 } 

Ваш маршрут называется editProductPost, но вы ищете editProduct