action怎么接收下面ajax传过来的json对象

$.ajax({type:'post',url:'/tele_detail_hand',loading:'正在更新中...',data:$form.serializeAr... $.ajax({
type: 'post',
url:'/tele_detail_hand',
loading: '正在更新中...',
data:$form.serializeArray(),
dataType:'json',
cache: false,
async: false,
success: function(json) {
。。。。。
},
error: function (message) {
$.dialog.alert('更新失败!');
}
});
展开
 我来答
MockingMen
2015-11-25 · TA获得超过352个赞
知道小有建树答主
回答量:140
采纳率:0%
帮助的人:77.8万
展开全部

你指的action是使用struts2吧?我也是前几天遇到这样的问题,使用ajax传数据到后台接收方式和普通方式一样:

配置struts2 配置文件,这个你应该会吧,就不多说。

我当时使用的是类似地址栏传参的方式,即在url地址后面添加参数(我使用的easyUI),因为地址栏传参到后台中文会乱码,所以进行了转码“encodeURI(encodeURI(中文参数)
)"(英文数字不需转码)。代码如下:

$.ajax({//提交删除信息
                                    type:"post",
                                    url:"deleteCoursesAction?name="
                                     +encodeURI(encodeURI(row[0].name))+"&teacher="
                                     +encodeURI(encodeURI(row[0].teacher)),
                                    success:function(data){
                                     if(data=="ok"){//判断删除是否成功
                                     alert("删除成功!");
                                     }else{
                                     alert("删除失败!");
                                     }
                                    }
                                });
后台接收代码,如下:
//使用属性来接收数据
private String name;
private String teacher;
//get和set方法还有删除方法略
//同时还得定义一个转码函数,将传来的数据转码为中文:
public String toUTF8(String s){
     String ps = null;
     try {
ps = URLDecoder.decode(s, "utf-8");
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
System.out.println("编码转换出错");
e.printStackTrace();
}
     return ps;
    }

具体代码就以上这些,有点乱,但是应该能看懂吧。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式