环境:struts2-json-plugin-2.1.8.jar 和 jquery1.5.2.min.jsstruts.xml<package name="ajax" extends="json-default">
     <action name="regnow" method="RegisterNow" class="com.manage.struts.action.AjaxAction" >
<result type="json" name="success" >
<param name="root">jsonstr</param>
</result>
      </action>
</package>AjaxActionimport com.opensymphony.xwork2.Action;
import com.opensymphony.xwork2.ActionSupport;public class AjaxAction extends ActionSupport {

public String RegisterNow() throws Exception{
this.setJsonstr(0);
return Action.SUCCESS;
}


private int jsonstr; public int getJsonstr() {
return jsonstr;
} public void setJsonstr(int jsonstr) {
this.jsonstr = jsonstr;
}
}前台JS:     if(confirm('您是否真的注册?')){
var d = new Date();
var url = path + "/regnow.shtml?time=" + d.getMilliseconds(); var params = {
"uname":uname,
"upwd":upwd,
"upwdtrue":upwdtrue,
"email":email,
"contact":contact,
"tel":tel,
"uimid":$('#sel_im').val(),
"uimname":im,
"bankid":$('#sel_zf').val(),
"bankname":bankname,
"banknum":banknum
}

$.ajax({
            url: url,
            type: "POST",
            cache:false,
            dataType:"json",
            data: params,
            beforeSend: loading,
            success: 
             function(data){
alert(data + "  test");
},
            error:callbackError,
            dataFilter:callbackFilter
        });
     }
Action可以访问到,并且没有错误,前台js返回成功,执行success函数,但在打印的alert(data + "  test")结果为" null  test",data为null,不知道是什么原因,难道是struts.xml的配置有误??

解决方案 »

  1.   

    补充:
    使用$.getJSON(url,params,callbackRegFun);可以得到返回值,但getJSON缺乏error、dataFilter等事件,如果非要用$.ajax就不能拿到json字符串吗?
      

  2.   

        var params = {
                "uname":uname,
                "upwd":upwd,
                "upwdtrue":upwdtrue,
                "email":email,
                "contact":contact,
                "tel":tel,
                "uimid":$('#sel_im').val(),
                "uimname":im,
                "bankid":$('#sel_zf').val(),
                "bankname":bankname,
                "banknum":banknum
        }在Action中将params中的key set get下..