Форматирование JSON в вызове AJAX

#jquery #json

#jquery #json

Вопрос:

Итак, у меня есть действие MVC с заголовком:

 public PartialViewResult PersistPlaceholderItems(ModelObject model, int start, int count)
  

Итак, он ожидает трех вещей. Первое — это объект, два других — просто целые числа.

Это то, что у меня есть до сих пор для моего вызова AJAX:

 $.ajax({
            url: url,
            type: 'POST',
            contentType: 'application/json; charset=utf-8',
            data: JSON.stringify(model),
            success: function (result) {
                $("#panel").html(result);
            },
            error: function (event) {
                alert("Error!");
            }
        });
  

Stringifying model просто дает мне первое, что мне нужно в PersistPlaceholderItems. Мне также нужны start и count. Я просто не знаю, как отформатировать строку JSON, чтобы включить их вместе с объектом модели.

Я пытался:

 data: [{model: JSON.stringify(model)}, {start:start}, {count:count}]
  

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

Редактировать: В идеале я хотел бы просто отправить три вещи вместо того, чтобы переносить их в другую viewmodel. Я не хочу viewmodel внутри viewmodel только для того, чтобы я мог отправить два дополнительных целых числа.

Ответ №1:

Вам нужно:

 data: {model: model, start:start, count:count}
  

Комментарии:

1. Это поставило меня на правильный путь. Что мне нужно было сделать, так это: data: JSON.stringify({модель:модель, начало: начало, количество: количество})