AJAX实现异步刷新
2015-05-15 09:42
351 查看
一 以检测数据库中是否存在以及是否规范邮件为例
(1)jsp层
function judgeEmailAvailable() {
var regEmail = /^([a-zA-Z0-9_\.-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/;
var email = $("input[name='email']").val();
if (email.length <1 || !regEmail.test(email)) {
$.alert("email pattern is not right! ");
return;
}
var uri = "${path}/arwen/userinfo/judgeEmailAvailable";
var emailAvailable;
$.ajax(
{
type:"POST",
url:uri,
data: {email:email},
async:false,
success:function(data){
if (data) {
if (data.result == false) {
$.alert(data.message, {ok:function() {
$("input[name='email']").val("");
return emailAvailable = false;
}});
} else {
return emailAvailable = true;
}
}
},
error:function(data){
//console.log("error------judge email controller error!" + data);
}
});
return emailAvailable;
}
(2)Controller层
@RequestMapping("/judgeEmailAvailable")
@RequireLogin
@ResponseBody
public ResultResponse judgeEmailAvailable(String email) {
ResultResponse rr = new ResultResponse(false);
if (true == this.userInfoService.judgeUserEmailAvailable(email)) {
rr.setResult(true);
} else {
rr.setMessage("The email is already exist.");
}
return rr;
}
(3) Service层
Boolean judgeUserEmailAvailable(String email);
@Override
@Transactional
public Boolean judgeUserEmailAvailable(String email) {
List<UserInfo> userInfos = userInfoDAO.getUsersByEmail(email);
if (CollectionUtils.isNotEmpty(userInfos)) {
return false;
}
return true;
}
(4) Dao层
public List<UserInfo> getUsersByEmail(String email) {
DetachedCriteriaBuilder builder = DetachedCriteriaBuilder.instance(UserInfo.class);
builder.addEq("email", email);
return select(builder);
}
二 检测某一个属性是否存在并且为整数
(1)Dao层
public Long findCountByPartNumber(String partNumber) {
DetachedCriteriaBuilder query = DetachedCriteriaBuilder.instance(Device.class);
query.addEq("partNumber", partNumber);
return this.count(query);
}
(2)Service层
String validatePartNumber(String partNumber);
@Override
@Transactional
public String validatePartNumber(String partNumber) {
long count = deviceDao.findCountByPartNumber(partNumber);
if (count > 0) {
return "PartNumber can't be repeated";
}
return "";
}
(3)Controller层
@RequireLogin
@RequestMapping(value="/checkPartNumber",method=RequestMethod.POST)
@ResponseBody
@AccessControl("device_manager_view")
public ResultResponse validatePartNumber(String partNumber){
ResultRespon
4000
se result=new ResultResponse();
if(StringUtils.isEmpty(partNumber)){
result.setMessage("partNumber can't be empty<br>");
}else{
String msg=deviceService.validatePartNumber(partNumber);
result.setMessage(msg);
}
return result;
}
(4)jsp层
var msg="";
function validatePartNumber(){
if($("#partNumber").val()==''){
msg="请输入Part Number <br>";
}else{
$.ajax({url:"${path}/arwen/device/checkPartNumber",
type:"POST",
async: false,
data:{partNumber:$("#partNumber").val()},
dataType:"json",
success:function(data){
if(data&&data.message){
msg=data.message;
}else{
msg=data.message;
}
}
});
}
}
(1)jsp层
function judgeEmailAvailable() {
var regEmail = /^([a-zA-Z0-9_\.-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/;
var email = $("input[name='email']").val();
if (email.length <1 || !regEmail.test(email)) {
$.alert("email pattern is not right! ");
return;
}
var uri = "${path}/arwen/userinfo/judgeEmailAvailable";
var emailAvailable;
$.ajax(
{
type:"POST",
url:uri,
data: {email:email},
async:false,
success:function(data){
if (data) {
if (data.result == false) {
$.alert(data.message, {ok:function() {
$("input[name='email']").val("");
return emailAvailable = false;
}});
} else {
return emailAvailable = true;
}
}
},
error:function(data){
//console.log("error------judge email controller error!" + data);
}
});
return emailAvailable;
}
(2)Controller层
@RequestMapping("/judgeEmailAvailable")
@RequireLogin
@ResponseBody
public ResultResponse judgeEmailAvailable(String email) {
ResultResponse rr = new ResultResponse(false);
if (true == this.userInfoService.judgeUserEmailAvailable(email)) {
rr.setResult(true);
} else {
rr.setMessage("The email is already exist.");
}
return rr;
}
(3) Service层
Boolean judgeUserEmailAvailable(String email);
@Override
@Transactional
public Boolean judgeUserEmailAvailable(String email) {
List<UserInfo> userInfos = userInfoDAO.getUsersByEmail(email);
if (CollectionUtils.isNotEmpty(userInfos)) {
return false;
}
return true;
}
(4) Dao层
public List<UserInfo> getUsersByEmail(String email) {
DetachedCriteriaBuilder builder = DetachedCriteriaBuilder.instance(UserInfo.class);
builder.addEq("email", email);
return select(builder);
}
二 检测某一个属性是否存在并且为整数
(1)Dao层
public Long findCountByPartNumber(String partNumber) {
DetachedCriteriaBuilder query = DetachedCriteriaBuilder.instance(Device.class);
query.addEq("partNumber", partNumber);
return this.count(query);
}
(2)Service层
String validatePartNumber(String partNumber);
@Override
@Transactional
public String validatePartNumber(String partNumber) {
long count = deviceDao.findCountByPartNumber(partNumber);
if (count > 0) {
return "PartNumber can't be repeated";
}
return "";
}
(3)Controller层
@RequireLogin
@RequestMapping(value="/checkPartNumber",method=RequestMethod.POST)
@ResponseBody
@AccessControl("device_manager_view")
public ResultResponse validatePartNumber(String partNumber){
ResultRespon
4000
se result=new ResultResponse();
if(StringUtils.isEmpty(partNumber)){
result.setMessage("partNumber can't be empty<br>");
}else{
String msg=deviceService.validatePartNumber(partNumber);
result.setMessage(msg);
}
return result;
}
(4)jsp层
var msg="";
function validatePartNumber(){
if($("#partNumber").val()==''){
msg="请输入Part Number <br>";
}else{
$.ajax({url:"${path}/arwen/device/checkPartNumber",
type:"POST",
async: false,
data:{partNumber:$("#partNumber").val()},
dataType:"json",
success:function(data){
if(data&&data.message){
msg=data.message;
}else{
msg=data.message;
}
}
});
}
}
相关文章推荐
- 用select下拉菜单来实现Ajax异步刷新
- AJAX实现异步刷新
- Ajax实现异步刷新验证用户名是否已存在的具体方法
- struts2下利用ajax实现异步刷新
- ajax异步加载 实现局部刷新
- jQuery实现Ajax异步提交表单实现局部刷新
- bootstrap jquery dataTable 异步ajax刷新表格数据的实现方法
- 如何手写Ajax实现异步刷新
- ASP.NET之使用Ajax实现页面异步刷新(无需刷新整个页面)
- 使用Ajax异步刷新实现登录用户验证
- php+JQuery+Ajax简单实现页面异步刷新 (转)
- Ajax实现异步刷新验证用户名是否已存在
- php+jQuery+Ajax简单实现页面异步刷新
- AJAX.NET 异步调用实现局部刷新CS代码解读
- 传统方式实现AJAX异步获取数据,局部刷新
- ajax异步刷新实现更新数据库
- Ajax(asp.net)技术实现异步刷新和控件功能示例流程
- JQuery与Ajax实现异步局部刷新
- Ajax异步刷新地址栏url改变(利用Html5 history.pushState实现)