169 похожих чатов

Типа, при клике отправляется запрос по адресу с нужным методом?

36 ответов

10 просмотров

да

i7-4n Автор вопроса
Ghost
да

тогда просто отследить клик по документу если есть такой атрибут, то превентим дефолт отправляем запрос

i7 4n
тогда просто отследить клик по документу если есть...

Я так и пытался, но ничего не вышло: for (const el of document.querySelectorAll('a[data-method]')) { el.addEventListener('click', e => { const method = el.dataset['method'] || 'get'; if (method !== 'get') { e.preventDefault(); axios({ method: method, url: el.getAttribute('href'), }) } }) }

i7-4n Автор вопроса
i7-4n Автор вопроса
Ghost
Я так и пытался, но ничего не вышло: for (const e...

никаких ошибок, ничего не выдаёт? что конкретно не работет?

i7 4n
никаких ошибок, ничего не выдаёт? что конкретно не...

Мой метод после запроса возвращает редирект, а страница не перезагружается

i7-4n Автор вопроса
Ghost
Мой метод после запроса возвращает редирект, а стр...

а, ну ещё бы, а с чего ей перезагружаться самой при отправке запроса? посмотрите теперь в аксиос и сделайте редирект, если надо

i7-4n Автор вопроса
Ghost
Мой метод после запроса возвращает редирект, а стр...

или можете сделать фейковую форму по клику и отправить её

i7 4n
или можете сделать фейковую форму по клику и отпра...

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

i7-4n Автор вопроса
i7 4n
а, ну ещё бы, а с чего ей перезагружаться самой пр...

Все равно не понял :( Я добавил обработчики then и catch, но туда приходит ошибка оттого что после редиректа идет по непонятной причине запрос страницы DELETE методом, а она method not allowed

Ghost
Все равно не понял :( Я добавил обработчики then и...

во вкладке нетворк все правильно? на верный эндпоинт уходит запрос?

Ghost
Я так и пытался, но ничего не вышло: for (const e...

if (method !== 'get') { e.preventDefault(); это предотвращает перезагрузку страницы

🏴‍☠️
if (method !== 'get') { e.preventD...

Я в курсе. Мне же надо отправить запрос заданным методом, а не GET

🏴‍☠️
if (method === 'get') { return; }

Он и так выйдет из метода. Зачем?

Ghost
Он и так выйдет из метода. Зачем?

у тебя же событие клик висит на ссылке? ты предотвращаешь дефолтное поведение после клика - перезагрузка страницы, но не отправка

🏴‍☠️
у тебя же событие клик висит на ссылке? ты предотв...

Ты сам то понял что сказал? Я нет... По клику происходит отправка запроса выбранным методом, если он не GET (иначе просто переход по ссылке). Так и задумано.

Ghost
Ты сам то понял что сказал? Я нет... По клику прои...

аа все, я с отправкой формы перепутал

Ghost
Ты сам то понял что сказал? Я нет... По клику прои...

а то что я раньше написал, что в цикле у тебя и другая кнопка может срабатывать ты это продебажил?

🏴‍☠️
а то что я раньше написал, что в цикле у тебя и др...

Что ты имеешь ввиду? Цикл просто вешает обработчики. Кликаю то я одну кнопку

i7-4n Автор вопроса
Ghost
Что ты имеешь ввиду? Цикл просто вешает обработчик...

это не в тему обсуждения, но я в любом случае за делегирование

i7-4n Автор вопроса
Ghost
Что? О_о

как я и писал изначально. один обработчик клика на весь документ

Ghost
Что ты имеешь ввиду? Цикл просто вешает обработчик...

так я хочу детали услышать, то что ты предоставил инфу - из этого мало что понятно

Ghost
Что? О_о

может у тебя события всплывают и триггерят другую ссылку

🏴‍☠️
так я хочу детали услышать, то что ты предоставил ...

Какие именно детали? Ты спрашивай конкретно. Я не понимаю что тебя интересует

Ghost
Ничего там не триггерит. Что за бред...

тогда если ты знаешь, то что тогда у тебя второй delete отправляет?

🏴‍☠️
тогда если ты знаешь, то что тогда у тебя второй d...

Вот в этом и вопрос. Откуда он берется. Второй delete.

i7-4n Автор вопроса
Ghost
Это как?

document.addEventListener('click', async (event) => { const { target } = event; if (!target.matches('a[data-method]')) return; const method = target.dataset['method'] || 'get'; const url = target.href; if (method === 'get') return; const response = await axios({ method, url }); const fetchedUrl = response.request.res.responseUrl; if (fethchedUrl !== window.location) { window.location = fethchedUrl; } }); типа того, мб

i7 4n
document.addEventListener('click', async (event) =...

Какая-то дичь... Зачем? О_о Ловить все клики в документе не экономично. Будет тормозить.

i7-4n Автор вопроса

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

Обсуждают сегодня

читать файл максимально быстро? странный вопрос))
zamtmn
53
тоесть, указав return eax, сгенерируется никому ненужная инструкция mov eax,eax ?
Aiwan \ (•◡•) / _bot
24
я имею в виду официально интегрированный в телегу? в том плане что не сливает переписку с пользователем?
Andrey
9
Кто-нибудь решал проблему с автоматическим скроллингом к выбранной ячейке в TDBGrid в Lazarus? Проблема в том, что есть допустим 3 столбца, третий столбец виден наполовину, вк...
Дмитрий Логинов
1
А чего сейчас в моде вместо Error для эксепшенов? А то я тут внезапно узрел что он не рекомендуется :) У Try::Tiny какой-то совершенно ужасный синтаксис если надо конкретные э...
Denis F
19
Приветствуем всех! Устали без проектов? Если вы программист и хотите получать стабильные заказы, компания Elif предлагает вам недельный курс по поиску проектов и их ведению. ...
Elif
1
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
Чорт! Чорт! Чорт! Стала ставить через GetIt (написано же, что ручками не рекомендуется) Сломалось на дублировании моей TSkLabel. Чтож мне ее по всем проектам переименовывать в...
Катерина Свиридова
7
Привет. Сразу скажу, что на C/C++/Rust я не пишу, но тем не менее возникла потребность дебага C/C++/Rust кода. Суть: есть серверное приложение, которое периодически ведёт себ...
ninekeem 🐳
4
всем привет! углубившись в плюсы и начав изучать реверсинг понял, что без асм'а никуда со своими высокоабстрактными представлениями начал изучать механизмы асма, и не совсем п...
9
Карта сайта