我需要创建一个关联数组数组,以便将其作为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脚本的语法应该是什么?
答案 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;
}
?>