asp.net mcv: как отправить массив javascript на контроллер c # - PullRequest
0 голосов
/ 03 июня 2018

У меня есть этот массив javascript:

formatData = {
                            title: title,
                            start: startFormat,
                            end: endFormat
                        };

Я хотел бы отправить formatData в метод контроллера C # (и получить его в виде массива для отправки в базу данных):

//HomeController.cs
public ActionResult setReservation()
    {
        Database db = new Database();
        db.setReservations(reservation);
        return View();
    }

Я попытался отправить массив javascript со следующим кодом AJAX:

$.ajax({
                            url: '/Controller/HomeController',
                            type: 'POST',
                            contentType: 'application/json',
                            data: JSON.stringify({
                                formatData: formatData
                            }),

                        });

, но безуспешно.Вкладка «Сеть» браузера показывает 404. Что я делаю не так?Как я могу поймать массив из клиентского JavaScript в серверной части контроллера C # как массив C # как?Как я могу прикрепить запись AJAX к методу setReservation в контроллере c#?

Заранее большое спасибо.

Редактировать: formatData должен передаваться в контроллер (HomeController.cs),В контроллере данные внутри formData (title, start, end) должны быть переданы методу (setReservations) объекта (db) другого класса (Database), где данные будут вставлены в строку запроса sql.

1 Ответ

0 голосов
/ 03 июня 2018

Прежде всего, неверный URL-адрес вашего метода AJAX.Попробуйте что-то вроде этого:

$.ajax({
                        url: '/Home/SetReservation',
                        type: 'POST',
                        contentType: 'application/json',
                        data: JSON.stringify({
                            formatData: formatData
                        }),

                    });

Затем в контроллере вам нужно иметь список в качестве параметра для действия, которое вы хотите использовать.Также пометьте действие как [HttpPost]:

[HttpPost]
public ActionResult SetReservation([FromBody]Reservation reservation)
    {
        Database db = new Database();
        db.setReservation(reservation);
        return View(); // you might want to redirect to another view instead
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...