Ajax経由でスライド(Jquery Ui Slider)の各スライダ値をマイコンに取得しています。Ajax Laravel return view 500エラー
スライダー+ 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);
}
});
},
});
このように私は私の頭の中でこれを持っているか:
Route::post('edit/{productID}', ['as' => 'editProductPost', 'uses' => '[email protected]']);
とIn:
<meta name="csrf-token" content="{{ csrf_token() }}">
私のルートは、このようになります私のコントローラの方法私はこのように呼びます:
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') ]); }
ビュー(アヤックス):
$.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');
}
}
});
を、私は戻って私の編集に戻るしようとすると、」言いましたコンソールでこのエラーが表示されるビュー」投稿要求をクリックし、プレビューの下に何が表示されますか? – haakym
@haakymオハイオ州私はそれが病気をすぐに編集すると思う – utdev
1.あなたは私の最初のコメントで言ったことをしていない。私が私のチャットで先日言ったように... "あなたのeditProductメソッドはビューを返します。もしあなたがajaxのためにそれを使用していれば、ビューを返さず、jsonデータを返します" http://chat.stackoverflow.com/transcript/message/31766104#31766104 - はっきりしていることを望みます。 – haakym