2015-07-13 44 views
2

我一直堅持500(內部服務器錯誤)很長一段時間,我不知道爲什麼。我需要稍後通過這些代碼。如何解決AJAX和Laravel 5中的500錯誤?

刀片

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

$(document).ready(function() { 
    $('#addChirp').submit(function() { 
     var msg = $('#message').val(); 
     console.log(msg); 
     var dataString = "message="+msg; 
     console.log(dataString); 
     $.ajax({ 
      type: "POST", 
      url: "post", 
      data: dataString, 
      success: function(data) { 
       console.log(data); 
       $('#showData').html(data); 
      }, 
      error: function(data) { 
       alert("fail"); 
      } 
     }); 
    }); 
}); 

路線

Route::post('post', function() { 
    if(Request::ajax()) { 
     return var_dump(Response::json(Request::all())); 
    } 
}); 
+0

你試圖更改URL'POST' TP別的東西嗎? –

+1

如果您遇到500錯誤,您可能會通過檢查您的Web服務器的錯誤日誌來發現問題。對於Apache,請檢查'/ var/log/apache/error.log' – Kryten

回答

0

嘗試調用RequestResponse作爲一個全球性的門面以下

Route::post('post', function() { 
    if(\Request::ajax()) { 
     return var_dump(\Response::json(\Request::all())); 
    } 
}); 

如果不起作用,你可以請更新您的問題與完整的Ajax響應,所以問題可以縮小?

0

我覺得如果CSRF標籤存在不是試圖修改您的通話JAX你沒有帶在HTML中的頭標記添加任何meta值一樣

<meta name="csrf_token" content="{{ csrf_token() }}" /> 

X-CSRF-TOKEN': $('input[name="_token"]').value() 

或者,您也可以手動獲取並傳遞_token隱藏字段的每個AJAX的值調用