次のようなものを実装する必要がありますが、同じ(適切な使用してくださいません入力&例外処理)本:
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();
}
});
また、あなたが他のチームのオブジェクトを持っているように、あなたは同じようにそれを返すことができます見えます。
Ajaxリクエストの一部としてジョブ名を返そうとしていますか? もしIDを知っていれば、あなたのコントローラで(Job :: find(id)を使って)ルックアップを行い、レスポンスオブジェクトの一部として名前を返す必要があります通常の要求で –
@DaveLはい、それは私が求めているものです!これをコントローラからAjaxに戻す方法はありますか? $ user-> save(); $ equivalentents = $ user-> role-> name; リターンレスポンス() - > json($ user、$ equivalent); – Domy
それはかなり近いです、私は何をやろうとしているのかの非常に基本的な例を書くでしょう –