【问题标题】:Laravel ajax returns 500 (Internal Server Error)Laravel ajax 返回 500(内部服务器错误)
【发布时间】:2016-09-16 01:37:55
【问题描述】:

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";
        }
    }
}
~~~

更新
我将&lt;meta name="csrf-token" content="{{ csrf_token() }}"&gt; 和以下内容添加到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);
    }
  });
});

【问题讨论】:

标签: php ajax laravel


【解决方案1】:

参考下页即可解决。感谢ajax post in laravel 5 return error 500 (Internal Server Error)‌​-500-internal-server-error?rq=1

【讨论】:

    【解决方案2】:

    没有错误,任何人都无法做任何事情 您可以手动检查您的日志。在/存储/日志中。 但是,如果您想在“现场”看到错误,请执行以下操作。 在提交之前,打开开发者控制台并转到网络选项卡。 提交ajax请求。您将在网络选项卡中收到红色请求。 单击它,右侧有预览选项卡。 在预览选项卡中将显示 laravel 格式的消息。 希望这对您的调试有所帮助

    【讨论】:

      【解决方案3】:
      <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'];
      }
      

      【讨论】:

        猜你喜欢
        • 2016-06-19
        • 2019-11-12
        • 2016-08-20
        • 2023-03-19
        • 2019-06-05
        • 2017-04-12
        • 2020-02-12
        • 2018-04-16
        • 2016-03-24
        相关资源
        最近更新 更多