在jquery中创建关联数组的数组

时间:2016-03-18 12:22:13

标签: php jquery arrays ajax

我需要创建一个关联数组数组,以便将其作为ajax post发送到php脚本。我该怎么做?

为了更具体一点,我有两行输入名为“First Name”和“Last Name”。当我按下提交按钮时,这应该生成如下数组:

var name_array = [{"first_name" : string1, "last_name" : string2},
 {"first_name" : string3, "last_name" : string4},
 .
 .
 .]

然后我将通过ajax发送此数组到php。如果构造了上面的构造,那么将name_array作为数据发送到php脚本的语法应该是什么?

1 个答案:

答案 0 :(得分:0)

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<script>
$(document).ready(function()
{
    var hold_data = {};
    $(document).on('click','#submit',function()
    {
        $("#myform .field").each(function()
        {
            hold_data[$(this).attr('name')] = $(this).val();
         });
        var json_data = JSON.stringify(hold_data);
        alert(json_data);

         $.ajax(
         {
             url:'', //url location for where you want to submit the data
             type:'post',
             data:{form_data:json_data},
             success:function(res)
             {
                 alert("Successfully sent and your response "+res);
              }
          });
      }); 
});
</script>
</head>

<body>
<form id="myform" action="">
  First name: <input type="text" class="field" name="FirstName"  value="Tom"><br>
  Last name: <input type="text" class="field" name="LastName" value="Raze"><br>
  <input type="button" id="submit" value="Submit">
</form>
</body>

如果您要发布到php页面,那么您可以解码json数据,如下所示。

回显的临时值将显示为ajax中的响应 res 数据

<?php

if(isset($_POST['form_data']))
{
    $temp = json_decode($_POST['form_data']);
    echo temp;
}

?>