jquery代码
[code="js"]
function doTchSubmit() {
$j.ajax({
type: "GET",
url: "yhpb010111_loginTch", //struts2 action
dataType: "json",
cache: false,
data: {
teacherNum: $j("#teacherNum").val(),
passWord: $j("#passWord").val()
},
success: function(data) {
var result = eval("(" + data + ")");
if(result.loginError != '') {
$j("#tchMes").html(val);
}
}
});
}
[/code]
yhpb010111_loginTch action中代码
[code="java"]
message.put("loginError","密码错误");
//将封装的信息转成JSON数据传入前台
String result = JSONObject.fromObject(message).toString();
[/code]
struts.xml配置代码
[code="xml"]
result
[/code]
jsp代码
[code="html"]
用户名:
密 码:
Struts has detected an unhandled exception:
Messages:
org/apache/commons/lang/exception/NestableRuntimeException
Stacktraces
java.lang.reflect.InvocationTargetException
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:453)
com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:292)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:255)
org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:256)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:176)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:265)
org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:138)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:236)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:236)
[/code]
用火狐调试到 success: function(data) 就跳出了,data无数据
:o 你怎样又用JSONObject又用struts2-json插件的?不要结合着用吧,用其中一个就可以了
还有js不要用eval,不安全,完全可以不用这个函数的
[quote] result[/quote]
result写到struts2值栈也就是属性域里去
页面声明了dataType:'json'后面没必要用eval再去解析了
你看下是否是数据转换有问题,你在提交ajax之前把teacherNum打出来看下,看是否是数字?