Ответ 1
Перед отправкой необходимо выполнить сериализацию/преобразование объекта в строку. Вы можете использовать jQuery.param()
для этого.
$('#obj').val(jQuery.param(obj));
У меня есть объект, который выглядит как
var obj = { p1: true, p2: true, p3: false }
Я пытаюсь передать этот объект как часть запроса на отправку.
однако на другом конце (в php) все, что я получаю, это
[объект объекта]
Как отправить объект по почте?
в основном то, что я пытаюсь сделать, это
У меня есть вход, который скрыт и создается таким образом
<input id="obj" type="hidden" name="obj[]">
который является частью скрытой формы.
когда нажата кнопка I
$(#obj).val(obj);
$('form').submit();
Перед отправкой необходимо выполнить сериализацию/преобразование объекта в строку. Вы можете использовать jQuery.param()
для этого.
$('#obj').val(jQuery.param(obj));
Вы можете рассмотреть возможность использования JSON для отправки объекта на сервер. Если вы включите в свою страницу JSON parser/renderer, (теперь он встроен во все современные браузеры, а также IE8 в стандартном режиме) вы можете преобразовать объект в строку, сохраняющую полный граф объекта. Большинство серверных языков теперь имеют JSON-анализ для них (например, в PHP it json_decode
). Вы можете поместить эту строку в поле скрытой формы перед отправкой формы.
Это будет выглядеть так:
$('#obj').val(JSON.stringify(obj));
$('form').submit();
... и ваша сторона сервера увидит строку в форме
{ "p1" : true, "p2" : true, "p3" : false }