Ajax запросы с помощью jquery

114
20 июня 2019, 16:30

Изучаю ajax запросы. Нашёл на metanit пример в mvc проекте. Вот например вызов формы ajax запросом.

<div>
    @using (Ajax.BeginForm("BookSearch", new AjaxOptions { UpdateTargetId = "results" }))
    {
        <input type="text" name="name" />
        <input type="submit" value="Поиск" />
    }
    <div id="results"></div>
</div>

Но тут используется c# хелперы. А как написать то же самое с помощью jquery? Нашёл примеры ajax запросов с помощью jquery которые начинаются примерно так:

$.ajax({
});

Но не могу понять как сделать то же самое что реализовано у меня с помощью хелперов. Подскажите пожалуйста как это должно выглядеть?

Код View:

@{
    ViewBag.Title = "Index";
}
<div>
    <input type="text" name="name" id="txt" />
    <input type="button" id="Search" value="Поиск" name="btn" />
    @section scripts {
        <script type="text/javascript">
            $('[name = "btn"]').on('click', function () {
                $.ajax({
                    type: "POST",
                    url: "/Home/BookSearch",
                    data: { "name": $('#txt').val }
                });
            });
        </script>
    }
    <div id="results"></div>
</div>

Код контроллера:

Context db = new Context();
        public ActionResult Index()
        {
            return View();
        }
        [HttpPost]
        public ActionResult BookSearch(string name)
        {
            var allbooks = db.Books.Where(a => a.Author.Contains(name)).ToList();
            if (allbooks.Count <= 0)
            {
                return HttpNotFound();
            }
            return View(allbooks);
        }

И ошибка на клиенте:

Answer 1

$("#btn").click(function () {     
        $.ajax({ 
      url: 'php.php', //твой url куда будет отправлен запрос 
      type: 'POST', 
      data: { 
                TOId: 'vlad' //твой параметр 
            }, 
      beforeSend: function( xhr ) { 
        $('.btnTOEdit').text('Загрузка, 5 сек...');   
      }, 
      success: function( data ) { 
        var $ajax_response = $( data ); 
        $( '#result' ).html( $ajax_response ); //в id="result"    запишутся те дание, которые ты получил с сервера 
      } 
    }); 
    });

READ ALSO
Xamarin ListView Binding

Xamarin ListView Binding

Не работает привязка:

98
Добавить к файлу ресурсов по умолчанию префикс ru-RU

Добавить к файлу ресурсов по умолчанию префикс ru-RU

Есть двуязычное webforms приложение (русский/английский)

115
Как сделать перелистывание свайпом?

Как сделать перелистывание свайпом?

Как сделать так, чтобы при свайпе налево или направо объект переместился плавно в соответствующую сторонуНе всё время следить за пальцем,...

156
Как запускать функцию через интервал времени?

Как запускать функцию через интервал времени?

Есть функция на php, допустим:

112