Laravel Ajax не работает, метод GET не поддерживается для этого маршрута. Поддерживаемые методы: POST

#ajax #laravel #post #routes #get

#ajax #laravel #Публикация #маршруты #получить

Вопрос:

Я пытаюсь протестировать Ajax с помощью Laravel. Я написал тестовый код, который работает на php, но у меня проблема с переносом его в Laravel.

Мой скрипт :

 function refresh() {
                
                
                    var xmlhttp = new XMLHttpRequest();
                    xmlhttp.onreadystatechange = function() {
                        if (this.readyState == 4 amp;amp; this.status == 200) 
                        {
                            document.getElementById("refresh").innerHTML = this.responseText;
            
                        if (this.responseText=="refresh")
                        {
                            location.reload();
                        }
                        
                        }
                    };
                    xmlhttp.open("POST", 'refresh', true);
                    xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
                    xmlhttp.setRequestHeader("X-CSRF-TOKEN", document.querySelector('meta[name="csrf token"]').content );
                    xmlhttp.send(refresh);
  

Мой маршрут:

 Route::post('refresh', [ZamowieniaController::class, 'ajax']);
  

В моем контроллере:

 public function ajax(Request $request)
    {
    return test;
    }
  

Я получаю сообщение об ошибке:

 SymfonyComponentHttpKernelExceptionMethodNotAllowedHttpException
The GET method is not supported for this route. Supported methods: POST.
  

Комментарии:

1. Кавычки могут быть проблемой, используйте те же кавычки, вы перепутали одинарные / двойные кавычки

2. Я не понимаю.

3. хорошо, я думаю, что я решаю эту проблему. Я меняю метод POST на GET.

4. На самом деле это неправильное решение, измените и эту строку xmlhttp.open("POST", 'refresh', true);

5. Да, я меняю СООБЩЕНИЕ, чтобы ПОПАСТЬ в маршрут и в сценарий