Я отправляю данные на контроллер MVC и пытаюсь также поддерживать состояние для оптимистичного параллелизма. В настоящее время я отправляю запрос в формате JSON, но будет ли он открыт для работоспособных альтернатив?
Я уже публикую коллекцию имен / значений с помощью следующей команды:
$.ajax({
url: g_appPath + "/Rounding.aspx/Round/" + $("#OfferId").val(),
type: 'POST',
dataType: 'html',
data: $.toJSON(data), // <-- data = name/value array
contentType: 'application/json; charset=utf-8',
beforeSend: doSubmitBeforeSend,
complete: doSubmitComplete,
success: doSubmitSuccess
});
У меня также есть (зашифрованный) массив идентификаторов и временных меток, которые я хочу передать обратно, чтобы сервер мог расшифровать их, а затем проверить, что данные еще свежи, прежде чем они сохранят их.
Очень важно, чтобы объект данных был отдельным и не являлся дочерним по отношению к одному или другому или в массиве-обертке (из-за отражающей десериализации на стороне сервера). Также важно отметить, что я хочу сделать это асинхронно и не как отправка формы.
У меня такой вопрос: можно ли как-нибудь опубликовать 2 объекта JSON, используя «application / json» в качестве типа контента?
Мой другой вопрос: есть ли лучший / другой способ, которым я мог бы сделать это?
спасибо заранее!
ОБНОВЛЕНИЕ : я решил свою проблему, изменив для параметра contentType значение по умолчанию и вместо этого отправив строковые данные ajax в виде отдельных именованных параметров в строке запроса.
Когда вы используете contentType: 'application / json; charset = utf-8 ', это помещает данные в тело запроса, а не в строку запроса. Мой новый пост $ .ajax () теперь выглядит так:
$.ajax({
url: g_appPath + "/Rounding.aspx/Round/" + $("#OfferId").val(),
type: 'POST',
dataType: 'html',
data: "RoundingData=" + $.toJSON(data) + "&StateData=" + $.toJSON(stateData),
// --removed! contentType: 'application/json; charset=utf-8',
beforeSend: doSubmitBeforeSend,
complete: doSubmitComplete,
success: doSubmitSuccess
});
Этот вопрос действительно возник из-за моей неопытности в этом типе операций с данными, и я надеюсь, что кто-то ищет это в будущем, может наткнуться на это.
спасибо!
Dan