如何在ajax中调用模型?

时间:2017-03-20 02:55:39

标签: ajax model-view-controller laravel-5

我有一个ajax函数,它的工作是在我存储时在数据表中追加一行。问题是当它附加时,显然它会附加输入的内容。但是我希望所有的外键都与它的名字相对应。

例如..

用户的工作ID是5 ...所以在ajax中我想追加$ user-> job-> name

我可以在ajax中调用模型吗?

这就是我的ajax看起来像btw ..

$.ajax({
                type: 'POST',
                url: '{{ ('/users') }}',
                data: {
                    '_token': $('input[name=_token]').val(),
                    'name': $('input[name=user_name]').val(),
                    'email': $('input[name=user_email]').val(),
                    'password': $('input[name=user_password]').val(),
                    'role_id': $('#user_role option:selected').val(),
                    'team_id': $('#user_team option:selected').val()

                }}).done(function( data ) {
                    //add rows in modal
                    $('#userTable').append("<tr class='item" + data.id + "'><td align='center'><input type='checkbox' class='i-checks' name='input[]' value='"+data.name+"'> </td><td>" + data.name + "</td><td>" + data.email + "</td><td>" + data.role_id + "</td><td>" + data.team_id + "</td><td>" + data.team_id + "</td><td><a data-toggle='modal' href='#modal-edit-" + data.id +"'><i class='fa fa-pencil'></i> Edit</a></td><td><button class='edit-modal btn btn-info' id='editUser' data-id='" + data.id + "' data-name='" + data.name + "'><span class='glyphicon glyphicon-edit'></span> Edit</button></td></tr>");
                    //clear the modal
                    $("#modal-add-user").find("input,select").val('').end();

   });  

1 个答案:

答案 0 :(得分:0)

如果您想要取回用户和&amp;你需要实现的工作细节,但不一样(请使用适当的输入和异常处理):

Laravel控制器:

public function add(Request $request) {
  $user = new User(); 
  // Validate & add user, make sure you validate relationship id's
  $user->save();

  return response()->json(['user' => $user, 'roleEquivalents' => $user->role->name]); // This returns a nicely structured object
}

有关返回JSON对象的更多信息,请参阅Laravel的HTTP Response documentation

<强> JQuery的

$.ajax({
            type: 'POST',
            url: '{{ ('/users') }}',
            data: {
                '_token': $('input[name=_token]').val(),
                'name': $('input[name=user_name]').val(),
                'email': $('input[name=user_email]').val(),
                'password': $('input[name=user_password]').val(),
                'role_id': $('#user_role option:selected').val(),
                'team_id': $('#user_team option:selected').val()

            },
            error: function (xhr, ajaxOptions, thrownError) {
                // You should throw an error from Laravel if it failed validation
            }}).done(function( data ) {
                if (data) { // If it failed we don't have data
                    var user = data.user;
                    var roleEquivalents = data.roleEquivalents; // This is your role name

                    //add rows in modal
                    $('#userTable').append("<tr class='item" + user.id + "'><td align='center'><input type='checkbox' class='i-checks' name='input[]' value='"+user.name+"'> </td><td>" + user.name + "</td><td>" + user.email + "</td><td>" + user.role_id + "</td><td>" + user.team_id + "</td><td>" + user.team_id + "</td><td><a data-toggle='modal' href='#modal-edit-" + user.id +"'><i class='fa fa-pencil'></i> Edit</a></td><td><button class='edit-modal btn btn-info' id='editUser' data-id='" + user.id + "' data-name='" + user.name + "'><span class='glyphicon glyphicon-edit'></span> Edit</button></td></tr>");
                    //clear the modal
                    $("#modal-add-user").find("input,select").val('').end();
                }

  });  

看起来你还有另一个Team对象,你可以用同样的方式返回它。

相关问题