JSON构造函数通过AJAX将Javascript对象POST
JSON constructor to POST Javascript object via AJAX
我有一个自定义的客户端电子商务构建,其中包含需要发送到服务器进行哈希处理的输入,然后才能发布表单。
基本设置包含两个选择字段,一个用于风味名称,另一个用于对应的数量。用户可以添加附加风味,添加另一组风味名称和数量选择。
由于风格的数量(及其数量)是动态的,我需要在通过AJAX发布表单之前对这些值进行散列。
如何为下面的JSON示例创建构造函数,以便通过JSON.stringify()
将用户值发布到我的PHP脚本中
我想要的基本JSON格式:
var flavorSelection {
flavor1 : ["Bacon", "1"],
flavor2 : ["Cheezy", "2"],
flavor3 : ["Cheezy", "1"]
}
样本选择字段
<div>
<select name="flavors">
<option name="bacon" value="bacon">Bacon</option>
<option name="cheezy" value="cheezy">Cheezy</option>
</select>
<select name="qty">
<option name="1" value="1">1</option>
<option name="2" value="2">2</option>
</select>
</div>
您需要调整html标记以将数组发送到服务器
<div>
<select name="flavors[]">
<option name="bacon" value="bacon">Bacon</option>
<option name="cheezy" value="cheezy">Cheezy</option>
</select>
<select name="quantities[]">
<option name="1" value="1">1</option>
<option name="2" value="2">2</option>
</select>
</div>
不确定这是否是最好的方法,但您需要依靠数组索引来配对数据。
您可以通过以下方式轻松地循环和构建json:
$flavors = $_POST['flavors'];
$quantities = $_POST['quantities'];
$json = array();
for($i = 1; $i <= count($flavors) $i++){
$json[] = array('flavor'.$i => array(
flavors[$i], quantities[$i]
));
}
echo json_encode($json);
这将为您提供所需的json,不过我不知道哈希。
您可以执行以下操作:
<div>
<select name="flavors[]">
<option name="bacon" value="bacon">Bacon</option>
<option name="cheezy" value="cheezy">Cheezy</option>
</select>
<select name="qty[]">
<option name="1" value="1">1</option>
<option name="2" value="2">2</option>
</select>
</div>
在PHP中,当您在表单输入名称后使用[]时,$_POST["field_name"]
将接收一个数组。
如果您有3种不同的口味,那么$_POST["flavors"]
将收到一个值为"风味一"、"风味二"answers"风味三"的数组。
您的$_POST["qty"]
将以相同的顺序收到一个具有相应数量口味的数组。
然后使用jQuery.serialize()格式化要使用jQuery.ajax()提交的表单数据。
相关文章:
- Chrome开发工具(如何知道我在调用哪个javascript对象)
- 循环遍历以数组为值的Javascript对象
- 从ajax请求中获取javascript对象
- 如何从对象的原型方法访问JavaScript对象属性
- 将XML转换为普通的旧JavaScript对象
- 通过引用传递JavaScript对象
- javascript对象操作:根据指定条件选择属性
- Javascript对象类在单击时打开窗口进行颜色选择,并在更改时替换对象背景颜色
- 如何在异步函数中使用javascript对象
- 临时Javascript对象
- 如何在ASP中为用户控件添加Javascript对象网
- 使用数组向下搜索Javascript对象
- Rails将JavaScript对象存储到Model的有效方式
- JavaScript对象不是从原型链继承的
- 如何创建具有默认值的JavaScript对象字段?(AngularJS模型相关)
- SetInterval在javascript对象中表现怪异
- Javascript 对象和 this 关键字
- 如何在不知道关键字的情况下访问javascript对象值
- 在 JavaScript 对象中设置要使用的运算符的属性
- 如何搜索JavaScript对象并更改值