Laravel ajax返回500(内部服务器错误)。你能告诉我这是什么问题吗?
sample.brade.php
<script type="text/javascript">
$("input.dog_check").click(function(){
var amount = 10000;
var dataString = 'amount='+amount;
console.log(dataString);
$.ajax({
type:'POST',
data:dataString,
url: 'save_temporary_data',
success:function(data) {
alert(data);
}
});
});
</script>
routes.php文件
Route::post('/save_temporary_data', 'PaymentsController@saveTemporaryData');
PaymentsController.php
~~~
public function saveTemporaryData(){
if (Request::ajax()){
$amount = $_POST['amount'];
$insert = "insert into temporary_data values('$amount')";// Do Your Insert Query
if(mysql_query($insert)) {
echo "Success";
} else {
echo "Cannot Insert";
}
}
}
~~~
更新
我在<meta name="csrf-token" content="{{ csrf_token() }}">
中添加了sample.blade.php
和以下内容。但它无法解决问题。
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
sample.blade.php
<head>
<link rel="stylesheet" href="/css/header.css">
<link rel="stylesheet" href="/css/common.css">
<link rel="stylesheet" href="/css/reset.css">
<link rel="stylesheet" href="/css/edit_profile.css">
<link rel="stylesheet" href="/css/footer.css">
<link rel="stylesheet" href="/css/host_profile.css">
<link rel="stylesheet" href="/css/validationEngine.jquery.css">
<meta name="csrf-token" content="{{ csrf_token() }}">
</head>
~~~
$("input.dog_check").click(function(){
var amount = 10000;
var dataString = 'amount='+amount;
console.log(dataString);
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
$.ajax({
type:'POST',
data:dataString,
url: 'save_temporary_data',
success:function(data) {
alert(data);
}
});
});
答案 0 :(得分:1)
没有错误,任何人都无能为力 您可以手动检查日志。 in / storage / logs。 但是如果你想在网站上看到错误&#34;&#34;请执行下列操作。 在您提交之前打开开发人员控制台并转到网络选项卡。 提交ajax请求。您将在网络选项卡中获得红色请求。 单击它,在右侧有预览选项卡。 在预览选项卡中将是laravel格式的消息。 希望这有助于您的调试
答案 1 :(得分:0)
通过参考以下页面解决了这个问题。感谢ajax post in laravel 5 return error 500 (Internal Server Error) -500-internal-server-error?rq = 1
答案 2 :(得分:0)
<meta name="csrf-token" content="{{ csrf_token() }}" />
<script>
var CSRF_TOKEN = $('meta[name="csrf-token"]').attr('content');
jQuery.ajax({
type:'POST',
url :"{{url('save_temporary_data')}}",
data:{_token: CSRF_TOKEN,amount:amount},
success:function(data){
alert(data);
}
});
</script>
路径文件中的
Route::post('/save_temporary_data','PaymentsController@saveTemporaryData');
控制器中的
public function saveTemporaryData(Request $request){
echo $request['amount'];
}