Uncaught (in promise) TypeError: NetworkError when attempting to fetch resource. Ошибка при отправке

Отправляю из firefox данные для логина на сервер, появляеться ошибка

Uncaught (in promise) TypeError: NetworkError when attempting to fetch resource.

Отправляю с Edge и Chrome ошибки нет, но респонс не приходит. Я смотрел подобные темы, но так и не понял в чем суть.

Вот клиентский код:

async function logIn() {
let email = document.getElementById("email").value;
let password = document.getElementById("password").value;

let formData = new FormData();
formData.append('email', email);
formData.append('password', password);

let res = await fetch('http://localhost/server/login', {
    method: 'POST',
    body: formData
});

let data = await res.json();

if (data.status) {
    localStorage.setItem('token', data.token);
    window.location.href = "http://localhost/index.html";
} else {
    alert("Login failed");
}

}

Вот серверный код: index.php

    <?php
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Headers: *, Authorization');
header('Access-Control-Allow-Methods: *');
header('Access-Control-Allow-Credentials: true');
header('Content-Type: application/json');

require_once 'connect.php';
require_once 'function.php';

try {
    $pdo = new PDO($attr, $userDB, $pass, $opts);
} catch (PDOException $e) {
    die('Database connection failed.');
}

$method = $_SERVER['REQUEST_METHOD'];

$q = $_GET['q'];
$params = explode('/', $q);
$type = $params[0];
$id = $params[1];

switch ($type) {
    case "signup":
        addUser($pdo, $_POST);
        break;

    case "login":
        loginUser($pdo, $_POST);
        break;
}

Вот functions.php

    <?php
function addUser($pdo, $data) {
    $username = $data['username'];
    $email = $data['email'];
    $password = $data['password'];

    $stmt = $pdo->prepare("INSERT INTO users (username, email, password) VALUES (?, ?, ?)");
    $stmt->execute([$username, $email, password_hash($password, PASSWORD_BCRYPT)]);

    http_response_code('201');

    $res = [
        "status" => "true",
        "message" => "User added successfully",
    ];

    echo json_encode($res);
}

function loginUser($pdo, $data) {
    $key = 'eFTy2Wq1pXuuUlI0BUNZ';
    $email = $data['email'];
    $password = $data['password'];

    $stmt = $pdo->prepare("SELECT * FROM users WHERE email = ?");
    $stmt->execute([$email]);
    $user = $stmt->fetch();

    if(password_verify($password, $user['password'])) {
        http_response_code('200');

        $res = [
            "status" => "true",
            "message" => "User logged in successfully",
            "user" => [
                "id" => $user['id'],
                "username" => $user['username'],
                "email" => $user['email'],
                "token" => base64_encode($key . $user['id']),
            ],
        ];

        echo json_encode($res);
    } else {
        http_response_code('401');
    }
}

Помогите, пожалуйста.


Ответы (1 шт):

Автор решения: Вордик

Я разобрался. Удалил form и все заработало.

→ Ссылка