jquery ajax怎么向action传递对象类型的参数(action怎么来接收)?

2025-02-24 06:14:08
推荐回答(3个)
回答1:

params 可以是字符串也可以是Map格式的数据。

在action获取参数:

比如:params="name=hh&password=123";

那么在action中 私有属性name 和password 可以获取值(struts2&&属性必须要有get set 函数)

比如:var user={name:'hh',password:'123'};

params={user:user};

这样可以在action中用user类来接受数据 user属性必须有getset函数。

回答2:

你可以先在JQuery中,先声明一个对象:
var obj = new Object(); // 与后台某个实体Bean对应
obj.id = "id";
obj.name = "name";
然后,将Json对象转换成Json字符串
var data = JSON.stringify(obj);
$.ajax({
async : false,
cache : false,
type : 'POST',
url : '',// 请求的action路径
data: data,
error : function() {// 请求失败处理函数
XXXXXX....
},
success : function(data) {
XXXX....
}
});

在后台,将字符串参数转换成实体Bean

Bean bean = JSON.parseObject(data, Bean.class);
// import com.alibaba.fastjson.JSON;

回答3:

var a={};
a["obj.param1"]="test";
a["arry[0].param1"]="test2";
$.ajax({
type : 'POST', 
url : '',// 请求的action路径
data: a,
success:function(e){...}
})
public class action{
    public Object obj;
    public List arry;
    public void func() {
        ...
    }
}