日期:2014-05-18  浏览次数:20684 次

struts2 接收ajax提交的参数
最近使用struts2时发现,action接收不到ajax提交参数,请大侠们看看
代码如下:

$.ajax({
type: "POST",
url: '${ctx}/admin/sysuser/resetpwd.action',
data: {"ids":id},
success : function(d) {
var json = $.parseJSON(d);
if (json.success) {
datagrid
.datagrid('reload');
p.dialog('close');
}
parent.sy.messagerShow({
msg : json.msg,
title : '提示'
});    
   }
}); 

ids是自己定义的参数,然后在action中定义属性set和get方法注入,但是ajax提交后,后台总是接收不到参数
注:ids字段不是form中字段,是自己定义的。后台通过request.getParameter("ids")可以获取到值,但是struts2中
不想这样去获取。

在线等……
------解决方案--------------------
我自己测试了一遍,没有问题,可以接收到值,你再看看你的
<script type="text/javascript" src="jquery-1.4.2.min.js"></script>
  <script type="text/javascript">
  
  $(document).ready(function(){
  $("#button").click(function(){   
  $.ajax({
    type: "POST",
    url: 'help.action',
    data: {"ids":"id"},
    success : function(d) {
        var json = $.parseJSON(d);
        if (json.success) {
            datagrid
                    .datagrid('reload');
            p.dialog('close');
        }
        parent.sy.messagerShow({
            msg : json.msg,
            title : '提示'
        });       
   }
}); 
  });

   </script>
后台Action:
String ids;
  public String getIds() {
return ids;
}
public void setIds(String ids) {
this.ids = ids;
}
public void help(){
if(!ids.equals(""))
System.out.print(ids);
else
System.out.print("aaa");

}