通过 AJAX 数据传递循环数据
passing looping data through ajax data
我的表单包含隐藏的输入循环。就我而言,我在不循环的情况下手动声明 Ajax 数据中的隐藏输入。那么如何在 AJAX 数据中循环它们呢?
这是我的表单脚本
<form method="POST" name="myform">
<?php for($i=1;$i<=5;$i++) { ?>
<input type="hidden" name="data<?php echo $i; ?>" value="data<?php echo $i; ?>">
<?php } ?>
<input type='button' name='submitData' value='Submit' onClick='submitData();'>
</form>
这是我的 Ajax 脚本
function submitData() {
var form = document.myform;
$.ajax({
url: 'process.php',
type: 'post',
data: {
data1 : form["data1"].value,
data2 : form["data2"].value,
data3 : form["data3"].value,
data4 : form["data4"].value,
data5 : form["data5"].value
},
success: function (result) {
console.log(result);
},
error: function () {
console.log("error");
}
});
}
隐藏的输入具有名称和值,
使用.serialize()
将一组表单元素编码为字符串以供提交
data : $('form[name=myform]').serialize()
这将返回name=value
对。
如果需要{name:value}
,请使用.each()
var formData = {}
$('form :input:hidden[name^="data"]').each(function(){
formData[this.name] = this.value;
});
而在阿贾克斯,
data : formData ,
演示
如果你要发布整个表单,你可以直接在你的请求中使用jQuery的.serialize():
$.ajax({
url: 'process.php',
type: 'post',
data: $('#myform').serialize(),
...
另外,一个好方法是将字符串转换为JSON对象,并在PHP中将字符串转换为数组:
var dataJSON = JSON.stringify({..Your form obj...});
$.ajax({
url: 'process.php',
type: 'post',
data: dataJSON,
success: function (result) {
console.log(result);
},
error: function () {
console.log("error");
}
});
过程.php
$data = json_decode($_POST["data"]);
print_r($data);
相关文章:
- 如何在Angular.js中循环动态添加Fields并获取数据并将其发送到服务器
- 如何使用React JS中的循环,根据条件渲染或不渲染表数据
- 在Jade中循环并显示来自Mongodb的数据
- 事件循环的MEAN.JS setInterval进程(从另一个服务器获取数据)
- 使用来自不同循环Javascript的数据创建数组
- Json在js中对数据循环进行编码
- Emberjs#每个循环不处理数组数据
- $.每个jquery循环打印一个“;未定义的“;对于getJSON请求后的每个元素,网格数据都会完美地打印出来
- 当JSON数据=变量时,需要执行循环
- 如何在php循环中显示隐藏的数据类型
- 我的复选框没有't使用的循环来显示数据
- 按数据属性循环元素并替换值
- AngularJS和Javascript大数据循环性能
- 返回离子项的 ajax 数据循环
- Codeigniter Jquery Ajax:如何将返回的数据循环为 html
- 通过Three.js中的getImageData像素颜色数据循环生成多个立方体
- 没有小数的数据循环的Javascript计算
- 通过json数据循环创建下拉列表
- 获取json数据循环
- 优化数据循环