#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. Да, я меняю СООБЩЕНИЕ, чтобы ПОПАСТЬ в маршрут и в сценарий