2017-11-19 17 views
0

Laravelで次のコードに問題があります。コントローラにいくつかの変数を送り、それらと何かを行い、3つの変数を返す必要があります。私はアヤックスコール、ルート、コントローラーを作ったが、アヤックスコールは失敗する。エラーコードI receive thisコントローラーでのAjax要求が失敗する

ビュー

function gg() { 
    var slider_value = document.getElementById('paradnyi').value; 
    var checkbox_value = document.getElementById('check_box').value; 
    var dto = {slider_value : slider_value, checkbox_value : checkbox_value}; 
    $.ajax({ 
     url : "/calc_change", 
     contentType : 'application/json', 
     data : JSON.stringify(dto), 
     type : 'POST', 
     success: function(data) { 
      document.getElementById('visits').innerHTML = data[0]; 
      document.getElementById('slaves').innerHTML = data[1]; 
     }, 
     error: function(xhr, str){ 
      alert('Возникла ошибка: ' + xhr.responseCode); 
     } 
    }); 
} 

ルート

Route::post('/calc_change',['uses'=>'[email protected]_change','as'=>'calc_change']); 

コントローラ

public function calc_change(Request $request){ 
    $data = array(); 
    $data[]=1; 
    $data[]=2; 
    //dd($data); 
    return response()->json($data); 
} 
+0

代わりに 'responseCode'を' xhr.responseText'としてみてください。 –

+0

@giannischristofakis、それは私がこれを見つけたところで私にHTMLコードを返す - VerifyCsrfToken.php (line 68) そのcsrfトークンの問題?どのようにそれを修正? –

+0

私はそれを修正!私はちょうど入れた 保護$ except = [ 'アップロード - イメージ'、 'calc_change'、 ]; VerifyCsrfTokenミドルウェア –

答えて

0

あなたは、Ajaxの前にこのコードを追加する必要がありますjqueryセクションで呼び出す

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