如何在 Laravel 中保存 AJAX 响应
how to save AJAX RESPONSE in Laravel
return Response()->json(['message' => $input['first_name']]);
在控制台中给我输入的文本 我怎样才能将它保存在数据库中?
我尝试使用
$input = Request::all();
$user = Auth::user();
$user->first_name = Response()->json(['message' => $input['first_name']]);
$user->save();
但不工作:/
您可能对 response()..
Response()... 应该在控制器末尾返回。这个例子是
$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'=>'HomeController@editUser',
'as'=>'editUser'
]);
// javascript
$('#updateProfile').on('click', function() {
$.ajax({
method: 'POST',
url: '{{route("editUser")}}',
data: { first_name: $('#firstname').val(), _token: token }
})
(注意,如果您使用的是 .js 文件,您可能希望在 **.blade.php 上(包括 .js 文件)定义变量 url,就像您看起来的那样用令牌做
例如 blade)
// 索引.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 ]);
return Response()->json(['message' => $input['first_name']]);
在控制台中给我输入的文本 我怎样才能将它保存在数据库中?
我尝试使用
$input = Request::all();
$user = Auth::user();
$user->first_name = Response()->json(['message' => $input['first_name']]);
$user->save();
但不工作:/
您可能对 response().. Response()... 应该在控制器末尾返回。这个例子是
$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'=>'HomeController@editUser',
'as'=>'editUser'
]);
// javascript
$('#updateProfile').on('click', function() {
$.ajax({
method: 'POST',
url: '{{route("editUser")}}',
data: { first_name: $('#firstname').val(), _token: token }
})
(注意,如果您使用的是 .js 文件,您可能希望在 **.blade.php 上(包括 .js 文件)定义变量 url,就像您看起来的那样用令牌做 例如 blade) // 索引.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 ]);