如何在Laravel中保存AJAX响应
return Response()->json(['message' => $input['first_name']]);
给我在控制台我的输入文本我如何将它保存在数据库中?如何在Laravel中保存AJAX响应
我尝试使用
$input = Request::all();
$user = Auth::user();
$user->first_name = Response()->json(['message' => $input['first_name']]);
$user->save();
但不工作:/
您可能会响应()相混淆.. 该响应()...是什么,应在返回控制器的末端。这例子是
$input = Request::all();
$user = Auth::user();
$user->first_name = $input->first_name;
$user->save();
return response()->json(['user_saved' => $user ]);
编辑
// HomeController.php
public function editUser(Request $request){
$user = User::find(Auth::user()->id)->first();
$user->first_name = $request->first_name;
if($user->save()){
return response()->json(["response" =>true,"user"=>$user]);
}
return response()->json(["response" =>false,"user"=>$user]);
}
// routes/web.php
Route::post('/user/update',[
'uses'=>'[email protected]',
'as'=>'editUser'
]);
// javascript
$('#updateProfile').on('click', function() {
$.ajax({
method: 'POST',
url: '{{route("editUser")}}',
data: { first_name: $('#firstname').val(), _token: token }
})
(注:如果您使用的.js文件,你可能想在你的**。blade.php包括.js文件,定义可变网址有没有像你似乎与令牌 做例如刀片) // index.blade.php
<script>
var token = "{{Session::token()}}";
var urlEditUser = '{{route("editUser")}}';
</script>
我发送数据那样: $('#updateProfile').on('click', function() { $.ajax({ method: 'POST', url: '/home/user/update', data: { first_name: $('#firstname').val(), _token: token } })
例如你不为我工作:/
试试这个
$user = auth()->user();
$user->first_name = request('first_name');
$user->save();
return response()->json([ 'user_saved' => $user ]);
它的工作我爱你♥ –
但是现在如果数据改变了,我怎么能回显弹出“完成”? –
POST HTTP://本地主机:8000/home/user中/更新500(内部服务器错误) 现在怎么办? –
请检查我的编辑请 –
同样,我想更新数据用户,无需刷新页面。 他点击“保存”并完成提醒或不提示。我不知道如何刷新 –