2016-08-09 13 views
1

各スライダ値(私はjquery UIスライダを使用しています)をコントローラに送信するajaxポストを作成しました。Laravel Ajax Post returns 500

Ajaxコード:

public function editProductPost(Request $request) 
{ 
    Log::info($request->get('value')); 

    return view('product.edit', [ 
     'sliderValue' => $request->get('value') 
    ]); 
} 

これは私に正しいスライダー値を返し、

Log::info($request->get('value'));

しかし、私はこれを取得:

$.ajaxSetup({ 
    headers: { 
     'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') 
    } 
}); 

$.ajax({ 
    type: 'post', 
     contentType: "application/json", 
    url: "{{ Route('editProductPost', $product->id) }}", 
    headers: { 
     'X-Requested-With': 'XMLHttpRequest' 
    }, 
    data: JSON.stringify({ 
     value: getSliderVal, 
     productId : getPrId 
    }), 
    datatype: 'json', 
    success: function(response) { 
     // get response 
     console.log(response.sliderValue) 
    } 
}); 

そして

は私のコントローラで私はこれをやっていますブラウザのコンソールにエラーメッセージ:

POST http://localhost/myApp/public/product/edit/98 500 (Internal Server Error)

後で私の意見では、このsliderValueをPHPループの内側にしたいと思います。私はCSRFトークンを持っている

編集

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

編集

私はこの行っている:コンソールは私を印刷

$sliderValue = $request->get('value'); 
    $route = 'updateProduct'; 

    return view('product.edit', compact(['sliderValue', 'route']))->render(); 

を私はこれ{{ sliderValue }}を行う場合、私はsliderValueはあなたのコードの

+0

Log :: info($ request-> get( 'value'));を取得した場合は、値の場合、ビューの代わりにjsonデータを返す必要があります。 – hizbul25

+0

@ hizbul25私は以前これを行っていましたが、私のようなビューで変数を使用することはできません(PHPループ内で) – utdev

+0

'error:function(response){ console.log(response.responseText); } ' – jaysingkar

答えて

0

リトル変化が定義されていないというエラーを取得:

public function editProductPost(Request $request) 
    { 
     Log::info($request->get('value')); 
     $sliderValue = $request->get('value'; 

     return view('product.edit', compact('sliderValue'))->render(); 
    } 
+0

ありがとう、私は前にこのコード行を持っていたと私はそれらを使用する場合、私はエラーを取得しないとコンソールが正しいスライダの値を返しますが、私のビュー内のPHP変数として 'sliderValue'を使用することはできません – utdev

+0

私は変更を加えました。試してみてください。 – hizbul25

+0

okありがとうございました – utdev

0

ここでの問題は、あなたのコントローラ内のビューを返しているということです。あなたのビューが{{$ sliderValue}}を使っている場合は、それはうまくいくはずです。しかし、javascriptがsliderValue変数を取得する方法はありません。

あなたがあるとしてsliderValueを望んでいた場合、あなたはJavaScriptに2つのプロパティを持つオブジェクトを送っているそのように、この配列

return [ 'view' => view('product.edit', compact(['sliderValue', 'route']))->render(), 'sliderValue' => $sliderValue ];

を返すことができ、一つはビューと二番目の意志が含まれている必要があります値のみを含む。

+0

ええええええええええええええええええええええええええと。 – utdev

関連する問題