Я всегда получаю "Ресурс с данным идентификатором не найден"

Я реализую простой почтовый запрос и раньше реализовал аналогичный, и все было хорошо, но здесь я получаю эту ошибку. И такое происходит где-то глубоко в консоли, что даже я его сразу не вижу

контроллер

`class OperatorController extends Controller
{
    public function index()
    {
        $ldap_users = LdapUser::all();
        return view('pages.home')->with('ldap_users', $ldap_users);
    }

    public function storeUser(LdapUserStoreRequest $request)
    {
try {
            $validatedData = $request->validated();
            Log::error("тут "`your text` .$validatedData );

            $validatedData['full_name'] = $this->generateLogin($validatedData['full_name']);

            LdapUser::create($validatedData);
        } catch (Exception $e) {
            Log::error("Ошибка при создании пользователя: " . $e->getMessage());
            return response("Ошибка при создании пользователя", 202);
        }
        return response('success', 201);
    }}`

веб.php

Route::middleware("auth:web")->group(function () {
    Route::get('/', [OperatorController::class, 'index'])->name('home');
    Route::get('/logout', [AuthController::class, 'logout'])->name('logout');
    Route::post('/createUser', [OperatorController::class, 'storeUser'])->name('createUser');
});

js-скрипт

    <script>


        function createUser2() {
            var userPanel = document.getElementById("userPanel");
            var formData = new FormData(userPanel);
            var xhr = new XMLHttpRequest();
            var csrfToken = document.querySelector('meta[name = "csrf-token"]').getAttribute('content');
            xhr.open('POST', '{{ route("createUser") }}');
            xhr.setRequestHeader('X-CSRF-TOKEN', csrfToken);

            xhr.onload = function () {
                if (xhr.status === 201) {
                    alert('Пользователь успешно создан!');
                    document.getElementById("createUserError").textContent = "";
                } else if (xhr.status === 202) {
                    document.getElementById("createUserError").textContent =
 "Ошибка: "  +xhr.responseText;
                } else if (xhr.status === 200) {
                    document.getElementById("createUserError").textContent = "Ошибка введённых данных";
                }
            };
            xhr.send(formData);
            console.error(xhr.statusText);

        }
    </script>

лезвие.php

<div id = "createUserModal" class = "modal">
    <div class = "create-modal-content">
        <h2>Создание нового пользователя
            <button class = "btn btn-danger close-button " onclick = "closeCreateUserPanel()">Закрыть</button>
        </h2>
        <form id = "userPanel">
            <div id = "createUserError"></div>
            <table>
                <tr>
                    <th>Full Name</th>
                    <th>Mobile phone</th>
                    <th>Internal phone</th>
                    <th>Department</th>
                </tr>
                <tr>
                    <td><input type='text' name='full_name' id = "createUserFullName" placeholder='Full Name'></td>
                    <td><input type='text' name='m_phone' id = "createUserMPhone" placeholder='Mobile phone'></td>
                    <td><input type='text' name='i_phone' id = "createUserIPhone" placeholder='Internal phone'></td>
                    <td><input type='text' name='department' id = "createUserDepartment" placeholder='Department'></td>
                    <td>
                        <button class='btn btn-primary  create-btn' type='button' onclick = "createUser2()">Создать</button>
                    </td>
                </tr>
            </table>
        </form>
    </div>
</div>

всегда получал код 200 и «Ресурс с данным идентификатором не найден»

Я попробовал перенаправить и меняю контроллер и пытаюсь отправить данные по другому, но вижу только это.

Вероятно, вам следует использовать инструмент «Сеть» браузера для отладки этого, если вы еще этого не сделали — неясно, что именно вы рассматривали до сих пор.

ADyson 22.05.2024 12:57

в консоли Chrome я вижу это «Ресурс с данным идентификатором не найден» и ничего больше

Igor galaxy 22.05.2024 13:00

Я знаю. Вот почему я спросил о том, что происходит в сетевом инструменте, относящемся к этому запросу, а не только в консоли.

ADyson 22.05.2024 13:02

Кроме того, получите ли вы ту же ошибку, если протестируете в другом браузере (например, Firefox)? Похоже на специфичную для Chrome ошибку

ADyson 22.05.2024 13:03
Log::error("тут "ваш текст` .$validatedData); это "опечатка", которая произошла здесь, на SO, я думаю?
brombeer 22.05.2024 13:07

да, ошибка. В логах я просто ничего не вижу. Итак, эти журналы бесполезны, потому что метод не был вызван.

Igor galaxy 22.05.2024 13:09

Вы имеете в виду, что в инструменте «Сеть» браузера не отображается HTTP-запрос к вашему маршруту? Можете ли вы использовать отладчик JS и проверить, выполняется ли строка xhr.open('POST'... или нет?

ADyson 22.05.2024 13:12

строка выполняется и код движется дальше

Igor galaxy 22.05.2024 13:14

Если строка выполняется, она должна зарегистрировать что-то в Сетевом инструменте браузера, относящееся к этому ресурсу. Кроме того, когда вы использовали его в отладчике, вы проверяли и подтверждали ли вы, что URL-адрес, который он пытается открыть, выглядит правильно?

ADyson 22.05.2024 13:15

в сети консоли Chrome пишет URL-адрес запроса: 0.0.0.0:8080/createUser Метод запроса: Код состояния POST: 302 Найдено удаленный адрес: 0.0.0.0:8080 Политика реферера: строгое происхождение при перекрестном происхождении

Igor galaxy 22.05.2024 13:23

хорошо. Таким образом, он вернул 302 (код перенаправления), а это не тот случай, который вы обрабатываете в написанном вами коде xhr.onload.

ADyson 22.05.2024 13:29

Но почему он выдает код перенаправления и даже не вызывает метод из контроллера. Я первый раз вижу код перенаправления и раньше я тоже делал страницу с запросами на публикацию и его там не было.

Igor galaxy 22.05.2024 13:31

Что ж, сервер выполняет перенаправление, поэтому, по-видимому, это делает что-то в серверном коде и механизме маршрутизации. Может быть, этот маршрут требует, например, аутентификации? Куда вас перенаправляет 302? Он должен содержать целевой URL-адрес перенаправления в заголовке Location ответа.

ADyson 22.05.2024 13:33

Он перенаправляет на ту же страницу

Igor galaxy 22.05.2024 13:36

для этого маршрута требуется аутентификация, и я прошел аутентификацию

Igor galaxy 22.05.2024 13:37

Ваша аутентификация основана на файлах cookie сеанса? Передаются ли файлы cookie по вашему запросу из браузера на сервер?

ADyson 22.05.2024 13:40
it redirects to the same page... вы имеете в виду, что заголовок Location также содержит http://0.0.0.0:8080/createUser в ответе??
ADyson 22.05.2024 13:41

мб что-то идет не так, потому что у меня ''' <div class='panel'> <div class='user-info'> @auth {{ auth()->user()->email }} endauth </div> <div class='logout-container'> auth('web') <a href = "{{ маршрут('logout') }}" class='logout-btn'>Выйти</a> if (auth() ->user()->role === 'admin') <a href = "{{route('admin.index') }}" class='admin-btn'>Администрирование</a> endif endauth </ div> </div> ''' в начале лезвия

Igor galaxy 22.05.2024 13:44

Это просто создает HTML на вашей странице. Это ничего не делает с вашим запросом XHR.

ADyson 22.05.2024 13:49
than click and go to /createuser... вы имеете в виду, что ваш браузер переходит на /createUser как на новую страницу, или вы просто говорите, что запрос XHR отправляется туда? Вы не совсем ясно это описываете. Я спрашиваю вас конкретно о содержимом заголовка Location в ответе на запрос XHR, который сгенерировал 302. Можете ли вы подтвердить, что содержит это конкретное поле заголовка?
ADyson 22.05.2024 13:51

местоположение 0.0.0.0:8080

Igor galaxy 22.05.2024 14:01

Я понимаю. Спасибо. Что ж, тогда, как я уже сказал, что-то в вашем механизме маршрутизации заставляет его перенаправить обратно от этого действия. Следующее, что нужно проверить, — это файл cookie сеанса, как я упоминал ранее.

ADyson 22.05.2024 14:23

моя аутентификация основана на токенах, а не на файлах cookie, насколько я понимаю

Igor galaxy 22.05.2024 14:30

В этом случае вам нужно будет отправить токен аутентификации в запросе XHR.

ADyson 22.05.2024 14:33

Моя ошибка: я использую сеансы вместо токенов

Igor galaxy 22.05.2024 14:37

В этом случае проверьте, правильно ли отправляется файл cookie в запросе XHR.

ADyson 22.05.2024 14:39

насколько я понимаю, файлы cookie в порядке

Igor galaxy 22.05.2024 14:46
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
28
394
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я глупый и просто назвал параметры по-другому. В правилах запроса я назвал mobile_phone, но в html m_phone и не увидел ошибок в ide

Мы все совершаем ошибки, рад, что вы все равно разобрались! Однако, поскольку это похоже на простую опечатку, лучше удалить этот вопрос и ответ, чтобы избежать ненужных отрицательных голосов. Вопросы обычно закрываются, если они связаны с простой опечаткой, из-за которой вы не сможете опубликовать ненужный ответ, но этот не был закрыт вовремя, и я вижу, что оба уже были отклонены 😔

Tim Lewis 22.05.2024 19:22

Другие вопросы по теме

Автоматическое обновление корзины WooCommerce при изменении количества товаров в корзине
Почему мое электронное письмо не интерпретирует мой код и не отображает необработанный код?
Замените кнопку «Добавить в корзину» в цикле кнопкой, связанной с продуктом, и другим текстом в зависимости от категорий
OSX Sonoma, свежая версия mariadb, php не может загрузить pdo-mysql
Динамическое отображение определенного варианта оплаты на основе адреса электронной почты или телефона для выставления счета при оформлении заказа Woocommerce
Wordpress добавляет глобальный и классический встроенный CSS программно
Мои контроллеры проекта Laravel не существуют. почему?
Нет ошибки CORS «Access-Control-Allow-Origin» в Laravel 10 и ReactJS
Moodle «Фоновая обработка модуля назначения» не удалась из-за отсутствия записи
Использование DOMPDF для создания PDF-файла, но мой собственный шрифт не распознается