标签存档: jquery
[记录] Spring3 MVC中Ajax的使用
作者: hhdem
日期: 2012/01/30
评论关闭 | 154 次查看
现在已经开始使用Spring3了,MVC虽然用了很久不过Ajax一直通过DWR实现,不过既然Spring3已经支持Ajax访问,那就必须折腾下了。
1. 首先,新建Controller类用于接收ajax请求,这里建立AjaxCheckController,目的是检查注册用户是否已经存在
@Controller
@RequestMapping("/a")
public class AjaxCheckController extends BaseController {
@Autowired
private UserManager userManager;
@RequestMapping(value = "/checkexists/loginname/{loginName}", method = RequestMethod.GET)
public @ResponseBody Map<String, Object> checkLoginNameExists(@PathVariable String loginName) {
User user = userManager.findUserByLoginName(loginName);
Map<String, Object> modelMap = new HashMap<String, Object>();
modelMap.put("exists", user != null);
return modelMap;
}
@RequestMapping(value = "/checkexists/email", method = RequestMethod.GET)
public @ResponseBody Map<String, Object> checkEmailExists(@RequestParam(value = "email", required = true) String email) {
User user = userManager.findUserByEmail(email);
Map<String, Object> modelMap = new HashMap<String, Object>();
modelMap.put("exists", user != null);
return modelMap;
}
}
2. 请求页面,在这里就是注册页面了,部分js代码如下:
function loginOnChange(event) {
....
$.ajax({
type : 'GET',
contentType : 'application/json',
url : 'a/checkexists/loginname/'+loginname,
dataType : 'json',
success : function(data) {
if (data && data.exists) {
log_tip_div.style.display = "inline";
log_tip.innerHTML="<img src='<@common.basePath/>/img/exclamation.gif'/> 该用户名已经被使用";
canSub = false;
loginUserError = true;
isLoginUserExists = true;
}else {
log_tip_div.style.display = "inline";
log_tip.innerHTML="<img src='<@common.basePath/>/img/fit.gif'/> 用户名可以使用";
canSub = true;
loginUserError = false;
isLoginUserExists = true;
}
},
error : function() {
alert("error")
}
});
.....
}
function emailOnChange(event) {
....
$.ajax({
type : 'GET',
contentType : 'application/json',
url : 'a/checkexists/email',
data: 'email='+email,
dataType : 'json',
success : function(data) {
if (data && data.exists) {
email_tip_div.style.display = "inline";
email_tip.innerHTML="<img src='<@common.basePath/>/img/exclamation.gif'/> 该邮箱已经注册过";
canSub = false;
emailError = true;
isEmailExists = true;
} else {
email_tip_div.style.display = "inline";
email_tip.innerHTML="<img src='<@common.basePath/>/img/fit.gif'/> 邮箱未被注册过,可以使用";
canSub = true;
emailError = false;
isEmailExists = true
}
},
error : function() {
alert("error")
}
});
....
}
到此就可以了,可以通过jquery轻松访问Spring的Controller,是不是很简单呀!
通过触发appear, 在LazyLoader中载入未加载的图片
作者: hhdem
日期: 2011/04/18
评论关闭 | 30 次查看















