Как решить проблему с JavaScript/Ajax в ASP.NET Core?

Привет всем! У меня возникла проблема при разработке приложения на ASP.NET Core с использованием Ajax и JavaScript. Когда я пытаюсь выполнить JSON.stringify(formData) в браузере, появляется ошибка:

Uncaught ReferenceError: formData is not defined at :1:16

Я уже перепробовал много вариантов, но ничего не помогает. Может кто-нибудь подсказать, в чем может быть проблема?

Вот мой код JavaScript:

function авторизоваться(событие) {
    событие.preventDefault();

    var данныеФормы = {
        почта: $("input[name='почта']").val(),
        пароль: $("input[name='пароль']").val()
    };

    $.ajax({
        тип: "POST",
        типДанных: "json",
        типКонтента: "application/json; charset=UTF-8",
        данные: JSON.stringify(данныеФормы),
        url: "https://localhost:7291/api/Пользователь",
        успех: function (результат) {
            // Обработка успешного ответа
        },
        ошибка: function (ошибка) {
            // Обработка ошибки
        }
    });
};

А это часть моей HTML-страницы:

<section>
    <h1>Вход в систему</h1>
    <form>
        <input type='email' id='почта' name='почта' placeholder='Электронная почта' />
        <input type='password' id='пароль' name='пароль' placeholder='Пароль' />
        <button type='submit' onclick='авторизоваться(event);'>Войти</button>
    </form>
</section>

Буду благодарен за любую помощь!

Проблема может быть в том, что вы используете русские названия переменных и функций. JavaScript чувствителен к регистру и не всегда корректно работает с нелатинскими символами. Попробуйте заменить все имена на английские:

function authorize(event) {
    event.preventDefault();
    var formData = {
        email: $("input[name='email']").val(),
        password: $("input[name='password']").val()
    };
    $.ajax({
        type: "POST",
        dataType: "json",
        contentType: "application/json; charset=UTF-8",
        data: JSON.stringify(formData),
        url: "https://localhost:7291/api/User",
        success: function(result) {
            // Handle success
        },
        error: function(error) {
            // Handle error
        }
    });
}

Также убедитесь, что jQuery подключен корректно перед вашим скриптом.

слушай, а ты не пробовал отлаживать свой код? я когда с похожей проблемой столкнулся, поставил консоль.лог перед стрингифай и увидел что формдата вообще пустая. оказалось, что селекторы неправильно написал и данные не подтягивались. попробуй добавить проверки и логи, чтобы понять на каком этапе теряются данные. еще можно использовать инструменты разработчика в браузере, там в Network вкладке видно что именно отправляется на сервер. главное не сдавайся, у всех такие косяки бывают!

Похоже, что проблема в области видимости переменной данныеФормы. Попробуй объявить ее как глобальную переменную, вынеся за функцию авторизоваться. Или передавай данные напрямую в JSON.stringify без промежуточной переменной. Еще советую проверить, правильно ли подключены все скрипты и библиотеки на странице. А вообще, может стоит использовать современные фреймворки вместо чистого JavaScript?