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

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

36 ответов

30 просмотров

да

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 Автор вопроса

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта