Проблема с ответом JSON, который не получен в запросе AJAX в LaravelPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Проблема с ответом JSON, который не получен в запросе AJAX в Laravel

Сообщение Anonymous »

Я попробовал это после просмотра руководства на YouTube, так как я новичок в Laravel.
Я просто в замешательстве, не знаю, что делаю..< /p>
Я думаю, что это может быть простая ошибка, поэтому я включаю сюда часть кода напрямую... Думаю, вы сможете легко определить проблему, просто взглянув на нее..
Я добавил этот код напрямую, поэтому он может быть неясным и вызвать некоторую путаницу. Я включил его, чтобы помочь определить проблему. Дайте мне знать, если кому-то нужно больше ясности. Приносим извинения за то, что не предоставили полную правильную кодовую базу. Потому что тогда я думаю, что мне придется добавить много кода.
Что я пытаюсь сделать:
Я пытаюсь обновить профиль пользователя с использованием AJAX в Laravel. Отправляя форму, я вижу на экране необработанные данные (скриншот прилагается), но условия успеха и ошибки в моем вызове AJAX не соблюдаются.
Изображение

Данные правильно хранятся в базе данных, но ответ не передается функции AJAX. Он отображает этот ответ на экране, как показано на прикрепленном изображении.
user_profile.blade.php - просмотреть файл

@csrf
@method('PUT')
{{ -- Input field --}}



UserProfileController
public function updateProfile(Request $request)
{

$id = Auth::user()->id;

// Validate the request data
$validator = Validator::make($request->all(), [
'fname' => 'required',
'lname' => 'required',
'email' => 'required|email|unique:users,email,' . $id . ',id',
]);

if ($validator->passes()) {
// Update user details
$user = User::find($id);
$user->fname = $request->fname;
$user->lname = $request->lname;
$user->email = $request->email;
$user->save();

// Check if profile exists and update it
$profile = $user->profile;

if ($profile) {

$profile->update([
'fname' => $request->fname,
'lname' => $request->lname,
'email' => $request->email,
'gender' => $request->gender, // Assuming gender is included in the form
'country' => $request->country,
'state' => $request->state,
'district' => $request->district,
'phone_no' => $request->phone_no,
'pincode' => $request->pincode,
'address' => $request->address,
'date_of_birth' => $request->date_of_birth,

]);
} else {

// Create a new profile
$profileData = [
'user_id' => $user->id,
'fname' => $request->fname,
'lname' => $request->lname,
'email' => $request->email,
];

UserProfile::create($profileData);
}

>! I THINK THIS RESPONSE IS NOT BEING PASSED INTO THAT AJAX>!
return response()->json([
'status' => true,
'errors' => []
]);
} else {
return response()->json([
'status' => false,
'errors' => $validator->errors()
]);
}
}


**Это ajax**
'account'], function() {

// Guest Middleware
Route::group(['middleware' => 'guest'], function() {
// Other routes
});

// Authenticated Middleware
Route::group(['middleware' => 'auth'], function() {

Route::get('/user-profile', [UserProfileController::class, 'index'])->name('user-profile'); // display user profile page

Route::put('/user-profile/update', [UserProfileController::class, 'updateProfile'])->name('update-profile');

});
});



Подробнее здесь: https://stackoverflow.com/questions/790 ... in-laravel
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»