Как сделать форму на PHP без перезагрузки страницы, не используя AJAX?

Можно ли сделать обработку формы на PHP без перезагрузки страницы, но при этом не используя AJAX ?
  • Вопрос задан
  • 1259 просмотров
Решения вопроса 4
JohnnyGat
@JohnnyGat
Стараюсь писать код, понятный человеку.
Помимо AJAX, есть варианты с WebSocket и Server Sent Events.
Ответ написан
@mprog54
Кокон тыжпрограммиста
С помощью Beacon API (https://developer.mozilla.org/ru/docs/Web/API/Beac...)
var params = new URLSearchParams({
   key : 'Key test',
   values : 'Value test'
});
navigator.sendBeacon(anUrl, params);


С помощью картинки (https://developer.mozilla.org/ru/docs/Web/API/HTML...)
var form = document.querySelector('form');
var data = new FormData(form);

var img = new Image();
img.src = 'https://example.org/form/send?' + data;
img.onload = function() {
  alert(1);
};


Reference:
https://stackoverflow.com/a/26501400
https://stackoverflow.com/a/11941783
https://stackoverflow.com/a/56646623
Ответ написан
Комментировать
vodnicear
@vodnicear
читал комментарий к Вашему вопросу

Вы не объязаны использовать ajax и тем более jQuery
посмотрите axios
или можно вообще просто на JS делать xhr запросы , или функцию fetch

или если Вы пишите на Laravel то можете посмотреть в сторону Livewire
Ответ написан
Комментировать
@Zerik
Смотри. Если вопрос состоит в том, что бы не юзать ФУНКЦИЮ ajax() из jquery то стоит воспользоваться стандартным js объектом XMLHttpRequest. Делается примерно так:
var xhr = new XMLHttpRequest();
xhr.open("POST", url);//где url-адрес куда обращаешься
xhr.send(form);//где form-сереализованная форма, или ещё чего тебе там надо послать
xhr.onload = function() {//тут обрабатываем ответ если требуется. В объекте xhr будут все нужные тебе штуки
};
НО: Строго говоря AJAX-примерно любая отправка чего то через js без использования сокетов или sse. Это название принципа клиент-серверного взаимодействия, который реализует функция ajax() из jquery.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
profesor08
@profesor08 Куратор тега PHP
Никак.
Ответ написан
Комментировать
Angel_D13
@Angel_D13
Вечный студент
Что значит без перезагрузки? PHP серверный язык, и без отправки запроса на сервер, не будет и обработки формы. Или вопрос стоит без смены адреса страницы?
Ответ написан
AnDrIYQ
@AnDrIYQ
Неудачник
fetch();
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы