环境: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的配置有误??
<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的配置有误??
解决方案 »
- hibernate和struts2做的web项目,getSession().delete删不掉数据,这是什么原因
- <bean:write/>输出的内容怎么才能自动换行
- 请教jacob生成word文档,如何插入背景图
- jsp 项目安装求助和外包
- ajax dwr 调用对象问题
- win2k/xp/2003一个目录下最多可以存储多少个文件?
- 关于ELIPSE的问题,请高手指点一下
- 我是新手,请各位大侠帮忙关于连接池问题
- 请问如何让一个图片实现submit的功能?
- 请问 JSP页面中SESSION无规律的超时问题
- html中input里type为radio、checkbox、file在页面显示可用点击则无效果
- 页面错误信息HTTP Status 500,请求帮助
使用$.getJSON(url,params,callbackRegFun);可以得到返回值,但getJSON缺乏error、dataFilter等事件,如果非要用$.ajax就不能拿到json字符串吗?
"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下..