2016-04-26 3 views
0

Я пытаюсь сделать вызов ajax контроллеру для сохранения данных, но он показывает ошибку в сети. мой JQuery является:метод ajax post, показывающий ошибку 500 внутреннего сервера

$('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','[email protected]');

и мой контроллер:

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

что проблема именно так, как я новичок в Laravel, а также AJAX ?? Благодарю.

+0

пожалуйста, после того, что вы пытались –

+0

какая ошибка вы получаете? – Abbasi

+3

Вы показываете код на стороне клиента, но вы должны исследовать код сервера (Laravel), чтобы найти причину ошибки «500 внутренних серверов». – MarcoS

ответ

0

Прежде всего, добро пожаловать в Ларавел!

Вы должны попытаться изменить это к методу Laravel самосвала:

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

    //return $data; 
} 

Я думаю, что проблема в том, как вы используете функцию, большинство функций в Laravel должна возвращать данные, вы пытаетесь echo $ data.

Если вы попытаться {{ dump($data) }} (это эхо всех данных внутри переменным) она покажет вам все $data и после этого вы можете закомментировать return $data;.


Надеюсь, что это сработает!

Дополнительная информация: https://laravel.com/docs/5.2/controllers

Смежные вопросы