@JanCHikUs

Как осуществить jQuery.post() на чистом JavaScript?

Есть скрипт который получает id элемента при клике. Передача этого id в php файл осуществлена через jQuery метод .post
Очень хочется выполнить на чистом js
<span id="<?php echo $todo['id']?>" onclick="removeToDo(this)" class="remove-to-do">x</span>
<script>
        function removeToDo(e) {
            let id = e.getAttribute('id');

            $.post("app/remove.php", 
                {
                    id: id
                },
                (data) => {
                    alert(data);
                }
            );
        }
</script>
  • Вопрос задан
  • 134 просмотра
Пригласить эксперта
Ответы на вопрос 4
ThunderCat
@ThunderCat Куратор тега JavaScript
{PHP, MySql, HTML, JS, CSS} developer
1) не используйте инлайновые события, используйте addEventListener и селекторы getElementBy...(), если смысл написать нормальный код
2) Более современный вариант - fetch()
3) Более старый вариант XMLHttpRequest
Ответ написан
sergiks
@sergiks Куратор тега JavaScript
♬♬
используйте fetch()

Пример
Ответ написан
Комментировать
@zkrvndm
Софт для автоматизации
Попробуй вот так:
<span id="<?php echo $todo['id']?>" onclick="removeToDo(this)" class="remove-to-do">x</span>

<script>
	
	function removeToDo(e) {
	
		var response = await (await fetch('app/remove.php', {
		  method: 'POST',
		  headers: { 'Content-Type' : 'application/x-www-form-urlencoded; charset=UTF-8' },
		  body: new URLSearchParams({ id: e.getAttribute('id') }).toString()
		})).text();
		
		console.log('Ответ сервера', response);
		
	}
	
</script>
Ответ написан
Комментировать
diasasx
@diasasx
Веб разработчик, аналитик
Порекомендовал бы axios - https://axios-http.com/ru/docs/intro, в основном использую его для всех проектов. Из плюсов - меньше кода чем у fetch(), норм документация + примеры готовых решений

Пример из документации

axios.post('/user', {
firstName: 'Fred',
lastName: 'Flintstone'
})
.then(function (response) {
console.log(response);
})
.catch(function (error) {
console.log(error);
});
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы