2017-08-07 9 views
-2

にフォームをシリアライズ、ポスト出力はこのようなものです:私は複数のフィールドを持つフォームを持っているJSON

Array(
[query] => Array 
    (

     [categories] => Array 
      (
       [0] => 344 
       [1] => 64 
      ), 
     [ages] => Array 
      (
       [0] => 23 
       [1] => 10 
      ) 

    ) 

[post_type] => product 
[section] => my_section 
[action] => my_action 
[page] => 1 
) 

だから私は、同様のJSON構造を持つフォームのthroughtのAJAXを送信したいが、私のフォームをserialiasingときとjson.stringify私は私の検索エンジンクラスでの作業ではないだろう異なる構造を得た結果:

:私は次のような構造を必要とJSONについて

var datas = my_form.serializeArray(); 
console.log(JSON.stringify(datas)); 

/// OUTPUT 
var j = [{ 
     "name":"query[categories][]", 
     "value":"344" 
    }, 
    { 
     "name":"query[categories][]", 
     "value":"64" 
    }, 
    { 
     "name":"query[ages][]", 
     "value":"23" 
    } .... 

"flat" the jsonからフォームを取得することは可能ですか?それとも解決策はありますか?私は本当に良い構造が必要です。

はありがとう

+0

、それをシリアル化しないでください? serialize関数は、パラメーターをURLパラメーターとして渡せるようにします。 – Danmoreng

+0

こんにちは、あなたの応答のためにありがとうが、私はあなたが意味するものを理解していない、私は実際にフォームを送信するajaxから上記のjson構造としてデータを渡したい。 – user44321

答えて

0
$.ajax({ 
      type: $(form).attr('method'), 
      url: $(form).attr('action'), 
      data: $(form).serialize(), 
      dataType: 'json', 
      success: function (data) { 

      }, 
      error: function (xhr, ajaxOptions, thrownError) { 

      } 
     }); 
+0

投稿時にjsonデータを送信するには、この方法を使用します。 –

関連する問題