【发布时间】:2016-11-15 11:55:25
【问题描述】:
Ajax 错误函数未在 java 中调用
这里是ajax方法:-
$.ajax({
type:"post",
timeout:5000,
url:"<s:property value="URL"/>",
data:{name:newName},
success:function () {
$("#errorDiv").html("Successfully updated");
},
error:function (data) {
$("#errorDiv").html("Error.");
}
})
更新用户方法:-
@Action(value = "renameUser", results = {@Result(name = "success", type = "json"),
@Result(name = "input", type = "tiles", location = "view.list")},
interceptorRefs = {@InterceptorRef("auditingAdminDefault")})
@Override
public String execute() throws Exception {
String result = "input";
try {
updateUser(name);
addActionMessage(name + " user name was successfully updated.");
result = "success";
} catch (Exception e) {
addActionMessage(e.getMessage());
result = "input";
}
return result;
}
}
updateUser();
updateUser() throws Exception {
if (..) {
} else {
throw Exception();
}
我能够成功更新用户而不会出现问题。但成功更新或抛出任何错误都会调用成功函数。
我需要在 Ajax 中使用两件事。
- 应根据结果调用成功和错误方法
- 我需要从更新用户方法中捕获错误并将其显示在 UI 中。
请任何人告诉我我在这里做错了什么?
【问题讨论】:
-
您确定该请求正在发出吗?你在什么事件下运行它?您是否检查过该事件触发?
newName的值是多少?控制台的网络选项卡中的响应是什么(如果有)? -
成功时,我以 Object { name: "test1" } 形式获取数据,当错误时,我得到如下“-//W3C//DTD XHTML 1.0 Strict// EN" "w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> w3.org/1999/xhtml" xml:lang="en" lang="en"> ....."
-
它返回整个正常的 HTML 页面而不是 404。
标签: javascript java jquery ajax jsp