用jquery 或者js 发送ajax 请求就可以满足你的需求,下面是给出的jquery 例子:
GET提交
//复杂json对象提交
var person = {'per':"{ 'id': 1, 'name': '5itjob', 'sex': '男' }"}
$.ajax({
type: "get",
url: "JsonObject.asmx/GetPersonByObject",
data: person,
dataType: 'json',
contentType: 'application/jsoncharset=utf-8',
success: function (data) {
if (data.d == "1") {
$("#hello").text("服务器接收成功!")
}
else {
$("#hello").text("服务器接收数据失败!")
}
},
error: function () {
$("#hello").text("程序运行出错!")
}
})
POST提交
var person = "{'per':\"{ 'id': 1, 'name': '5itjob', 'sex': '男' }\"}"
$.ajax({
type: "post",
url: "JsonObject.asmx/GetPersonByObject",
data: person,
dataType: 'json',
contentType: 'application/jsoncharset=utf-8',
success: function (data) {
if (data.d == "1") {
$("#hello").text("服务器接收成功!")
}
else {
$("#hello").text("服务器接收数据失败!")
}
},
error: function () {
$("#hello").text("程序运行出错!")
}
})
首先Action中不要使用List接收参数,改成数组
private JBean[] jbs --- 这里的对象名是jbs
因为List接收前台,需要带索引,这个比较麻烦
前台的数据格式:
{ jbs : [
{name : "张三", age : 22, sex : 1},
{name : "李四", age : 32, sex : 0},
{name : "王五", age : 24, sex : 1}
]}
注:jbs 对应Action中的对象名,
他也是个数组,里面有3个json对象,属性对应JBean对象属性
所以你现在需要的是组装自己的数据
var param = {jbs : []}
for(var i=1i<=4i++) {
var bean = {}
bean["name"] = $("#name" + i).val()
bean["age"] = $("#age" + i).val()
bean["sex"] = $("#sex" + i).val()
param.jbs[i] = bean
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)