У меня есть проблема при добавлении записи в базу данных. Когда я получаю код ответа 200 с перенаправленным: true, запись не добавляется в мою таблицу пользователей. Однако, если я получаю ответ 204 с перенаправленным: false, запись успешно добавлена. />
//register.jsx
async function handleRegister(e) {
e.preventDefault();
await fetch('http://localhost:8000/sanctum/csrf-cookie', {
method: "GET",
credentials: "include"
});
// Extract CSRF token
const csrfToken = decodeURIComponent(
document.cookie.split('; ').find(row => row.startsWith('XSRF-TOKEN='))?.split('XSRF-TOKEN=')[1] || ''
);
console.log(csrfToken);
const res = await fetch('http://localhost:8000/register', {
method: "POST",
headers: {
"X-XSRF-TOKEN": csrfToken
},
credentials: "include",
body: JSON.stringify(formData),
});
if (!res.ok) {
console.error("Registration failed:", res);
if (res.errors) {
setErrors(res.errors);
console.error("Errors:", res.errors);
}
} else {
navigate("/login");
console.log(res);
}
}
//registeredUsercontroller.php
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use App\Models\User;
use Illuminate\Auth\Events\Registered;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash;
use Illuminate\Validation\Rules;
class RegisteredUserController extends Controller
{
/**
* Handle an incoming registration request.
*
* @throws \Illuminate\Validation\ValidationException
*/
public function store(Request $request): Response
{
$request->validate([
'name' => ['required', 'string', 'max:255'],
'email' => ['required', 'string', 'lowercase', 'email', 'max:255', 'unique:'.User::class],
'password' => ['required', 'confirmed', Rules\Password::defaults()],
]);
$user = User::create([
'name' => $request->name,
'email' => $request->email,
'password' => Hash::make($request->string('password')),
]);
event(new Registered($user));
Auth::login($user);
return response()->noContent();
}
}
//auth.php
Route::post('/register', [RegisteredUserController::class, 'store'])
->middleware('guest')
->name('register');
Подробнее здесь: https://stackoverflow.com/questions/795 ... dy-message
Как ответить только 204 статус кода без сообщений тела ⇐ Php
Кемеровские программисты php общаются здесь
-
Anonymous
1741871154
Anonymous
У меня есть проблема при добавлении записи в базу данных. Когда я получаю код ответа 200 с перенаправленным: true, запись не добавляется в мою таблицу пользователей. Однако, если я получаю ответ 204 с перенаправленным: false, запись успешно добавлена. />
//register.jsx
async function handleRegister(e) {
e.preventDefault();
await fetch('http://localhost:8000/sanctum/csrf-cookie', {
method: "GET",
credentials: "include"
});
// Extract CSRF token
const csrfToken = decodeURIComponent(
document.cookie.split('; ').find(row => row.startsWith('XSRF-TOKEN='))?.split('XSRF-TOKEN=')[1] || ''
);
console.log(csrfToken);
const res = await fetch('http://localhost:8000/register', {
method: "POST",
headers: {
"X-XSRF-TOKEN": csrfToken
},
credentials: "include",
body: JSON.stringify(formData),
});
if (!res.ok) {
console.error("Registration failed:", res);
if (res.errors) {
setErrors(res.errors);
console.error("Errors:", res.errors);
}
} else {
navigate("/login");
console.log(res);
}
}
//registeredUsercontroller.php
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use App\Models\User;
use Illuminate\Auth\Events\Registered;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash;
use Illuminate\Validation\Rules;
class RegisteredUserController extends Controller
{
/**
* Handle an incoming registration request.
*
* @throws \Illuminate\Validation\ValidationException
*/
public function store(Request $request): Response
{
$request->validate([
'name' => ['required', 'string', 'max:255'],
'email' => ['required', 'string', 'lowercase', 'email', 'max:255', 'unique:'.User::class],
'password' => ['required', 'confirmed', Rules\Password::defaults()],
]);
$user = User::create([
'name' => $request->name,
'email' => $request->email,
'password' => Hash::make($request->string('password')),
]);
event(new Registered($user));
Auth::login($user);
return response()->noContent();
}
}
//auth.php
Route::post('/register', [RegisteredUserController::class, 'store'])
->middleware('guest')
->name('register');
Подробнее здесь: [url]https://stackoverflow.com/questions/79506542/how-to-response-only-204-code-status-with-no-body-message[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия