2015-07-13 97 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的值调用