Как правильно отпавить сформированый json?

Пытаюсь создать свое расширение. Получается js скриптом формирую json, а дальше закидываю в input type='hidden' Вот сама форма
<form id="formMenu" action="update" method="post">
    <div class="form-group field-menuget-key_setup required">
          <label class="control-label" for="menuget-key_setup">Введите название меню (на английском)</label>
          <input id="menuget-key_setup" class="name" name="MenuGet[key_setup]" value="forHer" aria-required="true" type="text">
</div><div class="form-group field-contentForJson required">
      <input id="contentForJson" class="form-control" name="MenuGet[vaelye]" value="" type="hidden">
</div>
       <a id="secures" class="btn btn-success col-lg-offset-8 col-md-offset-8 col-sm-offset-6" href="#">Сохранить меню</a>

вот скрипт js
$("#secures").click(function (e) {
        e.preventDefault();
        var menu = {};
        var extra = {};
        $("#menu-to-edit li").each(function (i) {
            if ($(this).data('menu')) {
                var id = $(this).data('id');
                var model = $(this).data('model');
                var alias = $(this).data('alias');
                var depth = parseInt($(this).attr('data-depth'));
                var path = $(this).data('path');
                title = $(this).data('title').toString();
                var key = 'menu' + $(this).attr('data-item');
                var addmenu = {
                    title: title,
                    id: id,
                    model: model,
                    alias: alias,
                    depth: depth,
                    path: path,
                    imgPath: imgPath,
                    imgName: imgName
                };
                menu[key] = addmenu;
            }
           $('#contentForJson').val(JSON.stringify(menu, "", 4));
           $('#formMenu').submit();
        });

но мне кажется что от этого кода несколько пованивает говно кодом (ну не нравиться мне передавать json в value, inputа). Есть лучшие практики как это сделать ?
  • Вопрос задан
  • 189 просмотров
Пригласить эксперта
Ответы на вопрос 2
qonand
@qonand
Software Engineer
но мне кажется что от этого кода несколько пованивает говно кодом (ну не нравиться мне передавать json в value, inputа). Есть лучшие практики как это сделать ?

откровенно говоря попахивает. Уж лучше перехватите отправку формы, добавьте к ней необходимые параметры и отправьте POST на уровне JS
Ответ написан
@tyzberd
отправьте через ajax
$.ajax({
  method: "POST",
  url: "some.php",
  data: { name: "John", location: "Boston" }
})
  .done(function( msg ) {
    alert( "Data Saved: " + msg );
  });
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы