显示 500 内部服务器错误的 AJAX 开机自检方法


ajax post method showing 500 internal server error

我试图对控制器进行ajax调用以保存数据,但它在网络中显示错误。 我的jquery是:

    $('document').ready(function(){
      $('#getype th button').click(function(e){
        e.preventDefault();
        var a = $(this).val();
        var b = $(this).text();
        $.get("{{url('gettypes')}}",{id:a}, function(data){
        $('#sample').empty();
            for (var i = 0; i < data.length; i++) {
                drawRow(data[i]);
            }
            function drawRow(rowData) {
                var row = $("<th />")
                row.empty();
                $("#sample").append(row);
                row.append($("<button id='type' class='btn btn-info' value='"+ rowData.ty_id +"'>" + rowData.ty_name + "</button>"));                
            }            
            $('#sample button').on('click', function(e){
              e.preventDefault(); 
              var c= $(this).val();
              var d = $(this).text();
              $.get("{{url('getdish')}}", {id:c},function(data){
                $('#dishes').empty();
                for (var i = 0; i < data.length; i++) {
                  drawRow(data[i]);
                }
                function drawRow(rowData) {
                    var row = $("<th />")
                    row.empty();
                    $("#dishes").append(row);
                    row.append($("<button id='dish' class='btn' value='"+ rowData.item_id +"'>" + rowData.item_name + "</button>"));                
                }
                $('#dishes button').click(function(){
                  var e = $(this).val();
                  var f = $(this).text();
                  $.post("{{url('postdata')}}",   {cname:b,cid:a,tname:d,tid:c,did:e,dname:f}, function(data){
                console.log(data);
              });
            });
          });
        });
    });
  });
 });

我的路线:Route::post('postdata','OrdertController@postdata');

和我的控制器:

public function postdata(Request $request)
{
    $data = $request->all();
    echo $data;
}

我和阿贾克斯都是新手,问题到底是什么?? 谢谢。

首先,欢迎来到拉拉维尔!

您需要尝试将其更改为 laravel 转储方法:

public function postdata(Request $request)
{
    $data = $request->all();
    {{ dump($data) }}
    //return $data;
}

我认为问题在于您使用函数的方式,Laravel中的大多数函数都需要返回数据,您正在尝试回显$data。

如果您尝试{{ dump($data) }}(这将回显变量中的所有数据),它将显示所有$data,之后您可以注释掉return $data;


希望这有效!

更多信息请访问: https://laravel.com/docs/5.2/controllers