jquery Ajax success: function(data){} data数据问题

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"]


用户名:

密 码:







/s:form
[/code]
点击提交后页面跳到
[code="java"]
Struts Problem Report

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无数据

3个回答

:o 你怎样又用JSONObject又用struts2-json插件的?不要结合着用吧,用其中一个就可以了

还有js不要用eval,不安全,完全可以不用这个函数的

ysysdzz
astro 谢谢!!!
大约 8 年之前 回复
ysysdzz
astro ●︿●。。案例。。
大约 8 年之前 回复
ysysdzz
astro 好的。谢谢。。。啊。
大约 8 年之前 回复
henghanan
henghanan 我晚上写个测试代码给你吧,现在要出去了...
大约 8 年之前 回复
ysysdzz
astro 有木有JSONObject的例子啊 struts2的给我看看。。
大约 8 年之前 回复
ysysdzz
astro 那怎么用啊。。。。用$each、?
大约 8 年之前 回复

[quote] result[/quote]
result写到struts2值栈也就是属性域里去
页面声明了dataType:'json'后面没必要用eval再去解析了

ysysdzz
astro 写到属性域里是什么意思?result是接收JSON的字符串
大约 8 年之前 回复
ysysdzz
astro 那应该怎么写呢。 用$each的话怎么写啊
大约 8 年之前 回复

你看下是否是数据转换有问题,你在提交ajax之前把teacherNum打出来看下,看是否是数字?

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐