Также обратите внимание, что в мире ajax, если вы json кодируете все тело почтового запроса, а не отдельные поля формы, это может быть любая произвольная структура данных, которую можно легко получить на сервере. Фрагмент ниже показывает, как добраться до него из ColdFusion. Я не уверен насчет других языков, но это почти наверняка возможно.
Чтобы отправить подобное сообщение с помощью jQuery, JSON.stringify ваших данных, прежде чем передавать его в jQuery, как отмечено здесь и здесь .
Если вы создаете свой собственный запрос AJAX, изюминка будет:
xhr.send(JSON.stringify(data));
Чтобы получить доступ к этим данным на стороне сервера, в этом примере ColdFusion сначала ищется такое тело сообщения, закодированное в json, затем сообщение с данными json в поле формы «input», затем в поле url с тем же именем. Во всех случаях результирующие данные десериализуются и присваиваются локальному переменному 'input', который вы затем можете поместить в область запроса, 'rc' или в любое другое место, ожидаемое вашим кодом.
if (Find('application/json', cgi.content_type))
{
input = ToString(GetHttpRequestData().content);
if (IsJSON(input))
input = DeserializeJSON(input);
}
else if (StructKeyExists(form, 'input') and IsJSON(form.input))
input = DeserializeJSON(form.input);
else if (StructKeyExists(url, 'input') and IsJSON(url.input))
input = DeserializeJSON(url.input);