通过ajax json返回DB数据

时间:2014-07-27 12:08:41

标签: ajax json database laravel

我通过ajax(已选择)将数据发布到控制器,并希望返回一些数据库json数据。当我只返回发送的数据(选中)时它工作得很好但是一旦我想返回DB数据我收到服务器500错误(Eloquent Model肯定存在并且在同一类中的另一个函数上工作)。谢谢你的任何提示!

Ajax Call:

$('#country').on('change', function(){
var selected = $('#country').val();
$.ajax({
    url: "inputChange",
    type: 'POST',
    data: {selected: selected},
    dataType: 'json'
}).done(function(data){
    console.log(data.name_en);
});
});

路线:

Route::any('inputChange', array(
    'as' => 'inputChange',
    'uses' => 'UserController@inputChange'
));

控制器(没有数据库数据正常工作):

public function inputChange(){
    $selected = Input::get('selected');
    return Response::json($selected);
}

控制器(不使用数据库数据 - 错误500 - 下面没有选择$的where子句):

public function inputChange(){
    $selected = Input::get('selected');
    $data = City::all()->get();
    return Response::json($data);
}

1 个答案:

答案 0 :(得分:1)

执行get()时,您不应该all()城市数据。所以你的代码应该是:

public function inputChange(){
    $selected = Input::get('selected');
    $data = City::all();
    return Response::json($data);
}