Вы не публикуете JSON.Вы используете application/x-www-form-urlencoded
.Таким образом, внутри обработчика вы можете получить доступ к отдельным значениям:
public void ProcessRequest(HttpContext context)
{
var title1 = context.Request["form[0][title]"];
var title2 = context.Request["form[0][title2]"];
var title3 = context.Request["form[1][title]"];
var title4 = context.Request["form[1][title2]"];
...
}
Если вы хотите POST real JSON, вам нужно это:
$.ajax({
url: 'SaveTitlesHandler.ashx',
type: 'POST',
contentType: 'application/json; charset=utf-8',
data: JSON.stringify(postData),
success: function(result) {
console.log(result);
}
});
, а затем внутри обработчика читать из потока ввода запроса:
public void ProcessRequest(HttpContext context)
{
using (var reader = new StreamReader(context.Request.InputStream))
{
string json = reader.ReadToEnd();
}
}
Метод JSON.stringify
преобразует объект javascript в строку JSON и является встроенным в современные браузеры встроенным методом.Вам также может понадобиться включить json2.js , если вы хотите поддерживать старые браузеры.