如何能将json字符串和一些其他参数通过一个ajax传到后台? 10
layer.open({title:"挂单",type:1,area:['200px','140px'],moveOut:true,offset:'auto',conte...
layer.open({
title:"挂单"
,type:1
,area: ['200px', '140px']
,moveOut: true
,offset: 'auto'
,content:"<div><input type='text' id='name' onkeyup=\"this.value=this.value.replace(/[^\u4e00-\u9fa5]/g,'')\" placeholder='请输入购买人姓名' lay-verify='required' class='layui-input'></div>"
,btn:['确定','关闭']
,yes:function(){
var name1=$("#name").val();
var array = goodData;
$.ajax({
type:"post",
url:"/shop/customer/addorder",
async:false,
cache: true,
data:{
money:money,
count:count,
orderState:orderState,
name1:name1,
array:JSON.stringify(array),
},
dataType:"json",
success:function (data) {
console.log(data);
layui.use(['table'], function () { //如果只加载一个模块,可以不填数组。如:layui.use('form')
var table = layui.table; //获取table模块
table.reload("List2",{data:goodsData});
});
document.getElementById("add").value=null;
document.getElementById("totalCount").value=null;
document.getElementById("totalPrice").value=null;
var jishu = document.getElementById('jishu');
jishu.innerHTML=data.count;
}
})
layer.msg("挂单成功!",function () {
layer.closeAll();
});
}
}) 展开
title:"挂单"
,type:1
,area: ['200px', '140px']
,moveOut: true
,offset: 'auto'
,content:"<div><input type='text' id='name' onkeyup=\"this.value=this.value.replace(/[^\u4e00-\u9fa5]/g,'')\" placeholder='请输入购买人姓名' lay-verify='required' class='layui-input'></div>"
,btn:['确定','关闭']
,yes:function(){
var name1=$("#name").val();
var array = goodData;
$.ajax({
type:"post",
url:"/shop/customer/addorder",
async:false,
cache: true,
data:{
money:money,
count:count,
orderState:orderState,
name1:name1,
array:JSON.stringify(array),
},
dataType:"json",
success:function (data) {
console.log(data);
layui.use(['table'], function () { //如果只加载一个模块,可以不填数组。如:layui.use('form')
var table = layui.table; //获取table模块
table.reload("List2",{data:goodsData});
});
document.getElementById("add").value=null;
document.getElementById("totalCount").value=null;
document.getElementById("totalPrice").value=null;
var jishu = document.getElementById('jishu');
jishu.innerHTML=data.count;
}
})
layer.msg("挂单成功!",function () {
layer.closeAll();
});
}
}) 展开
2个回答
展开全部
可以将多个同name属性控件的值组合成一个json数组或数组字符串,传到java后台后再序列化成json数组,取出数据。以下是测试代码:
<input name="test" type="text" value="test1"/>
<input name="test" type="text" value="test2"/>
<input name="test" type="text" value="test3"/>
<input name="test" type="text" value="test4"/>
<input name="test" type="text" value="test5"/>
<input id="submit" type="button" value="异步提交"/>
<script language="javascript" type="text/javascript" >
$("#submit").click(function () {
//将多个同name的值组成一个json数组字符串
var jsondata = "[";
$("[name=test]").each(function () {
jsondata += '{"value":"' + this.value + '"},';
});
//去掉最后一个","
var reg = /,$/gi;
jsondata = jsondata.replace(reg, "");
jsondata += "]";
alert(jsondata);
//ajax提交数据
$.post("test.action", { "test": jsondata }, function (result) { alert(result) });
});
</script>
<input name="test" type="text" value="test1"/>
<input name="test" type="text" value="test2"/>
<input name="test" type="text" value="test3"/>
<input name="test" type="text" value="test4"/>
<input name="test" type="text" value="test5"/>
<input id="submit" type="button" value="异步提交"/>
<script language="javascript" type="text/javascript" >
$("#submit").click(function () {
//将多个同name的值组成一个json数组字符串
var jsondata = "[";
$("[name=test]").each(function () {
jsondata += '{"value":"' + this.value + '"},';
});
//去掉最后一个","
var reg = /,$/gi;
jsondata = jsondata.replace(reg, "");
jsondata += "]";
alert(jsondata);
//ajax提交数据
$.post("test.action", { "test": jsondata }, function (result) { alert(result) });
});
</script>
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询