Json前后台交互操作

[color=blue]/**
* json前后台交互操作
*/[/color]

[color=red]/*
* A:
* 前台传入字符串参数
* 后台返回json字符串、或是json数组
*/[/color]

//前台js中
$.ajax({
url: "xxx/xxx.action",
data: "id=xxx",
cache: false,
async: false,
success: function(result)
{
A:接收后台返回的数组
var data = eval(result);
if (typeof(data) != "undefined" && data.length > 0)
{
for(var i=0;i<data.length;i++)
{
data[i]["id"];
data[i]["name"];
}
}
B: 后台返回字符串、则直接接收
},
error: function(){
alert("table loading error...");
}
});



PrintWriter out = ServletActionContext.getResponse().getWriter();
/*
* 后台返回json字符串
*/
StringBuffer string = new StringBuffer();
string.append("");
out.print(string);

/*
* 后台返回json数组
*/
List<String> list = new ArrayList<String>();
JSONArray jArray = JSONArray.fromObject(list);
out.print(jArray);

out.flush();
return null;



[color=red]/**
* B: 前台传入json数组作为参数与后台进行交互
* 后台返回数组、字符串
*/[/color]


/**
* 前台
*/
function delCheckedData(){
var array = new Array();

$(":checkbox[name='chk'][checked=true]").each(function(){
array.push({
id: $(this).val()
});
})
if (array.length > 0) {

var gridJSON = JSON.stringify(array, function(key, value){
return value;
});

$.ajax({
url: "/xxx/xxx.action",
cache: false,
data: "idListJSON=" + gridJSON,
async: false,
success: function(result){

var instData = eval(result);
//相应的处理
},
error: function(){
alert("Error...");
}
});
}
}
/*
* 后台接收前台的json数组并做处理
*/
JSONArray instArray = JSONArray.fromObject("参数");
for (int i = 0; i < instArray.size(); i++)
{
JSONObject instJ = (JSONObject)instArray.get(i);
String sId = instJ.get("id").toString();
//得到Id做相应的操作
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值