Можно ли передать параметр/один элемент формы контроллеру через ненавязчивый AJAX в ASP.Net Core?

У меня есть приложение ASP.Net Core MVC, и мне нужно, чтобы определенные элементы обновлялись одним щелчком мыши. Например, создайте форму человека, которая ищет существующий адрес.

Я знаю, что не могу использовать вложенные формы. Однако, вернувшись к своим знаниям из MVC 3 дня, я подумал о ненавязчивом Javascript, а затем запустил скрипт из результата для обновления основной формы.

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

Для базового примера моя форма:

<form>
----
xxxx LOADS OF FORM ELEMENTS xxxx
----
Address:
<input type = "text" name = "address">
<a href = "" data-ajax = "true" data-ajax-url = "LoadAddress" data-ajax-update = "#test" data-ajax-mode = "after" data-ajax-complete = "changeid">LoadAddress</a>
</form>

Теперь об этом - когда мой контроллер просто возвращает 1, он работает хорошо... но я действительно хочу сначала передать ввод контроллеру.

Можно ли как-то перехватить запрос и передать данные поля адреса, или стоит отказаться от идеи использования ненавязчивого AJAX и сделать что-то более нативное?

(и... я нахожу так много документации устаревшей... в то время как я нахожу, что она работает для других битов, все еще используется ненавязчивый AJAX?)

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
0
149
1

Ответы 1

Вы можете пропустить тег формы и привязать свои вызовы AJAX к прослушивателям событий. Затем вы можете отправлять и получать значения в любое время.

HTML

<input type = "text" name = "address" id = "address">
<button id = "submit">submit the form</button>

JS

let field = document.querySelector("#address")
let btn = document.querySelector("#button")

field.addEventListener("change", (e)=> {
    fetch(`http://yourapi.com/search?address=${e.target.value}`)
      .then(res => {
        console.info("search result was returned")
      })
})


btn.addEventListener("click", (e)=> {
   console.info("use fetch to submit the form here")
})

Это здорово, спасибо... никогда раньше не использовал выборку, но кажется интересным... Я собираюсь немного оставить это открытым, потому что мне все еще любопытно, возможно ли это через ненавязчивый (из-за привязки модели/нахождения намного проще для основ), но, если я ничего не получу в ответ, я с радостью отмечу это как ответ.

Dev X 17.02.2019 19:45

Другие вопросы по теме