jquery+ajax请求且带返回值演示例子代码,现在很流行使用jquery的ajax来实现一些无刷新请求效果,本章节提供一个简单的代码实例,代码:
|
<script type= "text/javascript" > /* 请求Ajax 带返回值,并弹出提示框提醒 --------------------------------------------------*/ function
getAjax(url,parm,callBack) { $.ajax({ type: 'post' , dataType: "text" , url:url, data:parm, cache: false , async: false , success: function
(msg) { callBack(msg); } }) } /*删除 /*url: 表示请求路径 --------------------------------------------------*/ function
DeleteData(url,id) { var
parm= 'active=Del&id=' +id; if (id==undefined||id== "" ) { showAlertMsg( '请选择要删除一行' ); } else { showConfirmMsg( "此操作不可恢复,确定要删除吗," , function (r){ if (r) { getAjax(url,parm, function (rs) { if (parseInt(rs)>0) { showOverAlertMsg( "删除成功!" ,2000,4); } else
if (parseInt(rs) == 0) { showOverAlertMsg( "该数据被关联,无法删除!" ,2000,3); } else { showOverAlertMsg( "删除失败!" , 2000, 5); } }) } }) } } //删除 function
DeleteOnclick() { DeleteData( 'SysMenu_List.aspx' , Menu_Id); } </script> |
async是asynchronous[异步]的缩写,它是一个bool值默认为true。当async为true时,先不管ajax请求是否完成都要向下执行。同步请求要临时锁定浏览器,当请求正在执行时不执行任何动作。
描述下要实现的功能,判断一个数据数据库里是否存在,如果存在就返回错误,不存在就可填写并提交。代码如下:
|
isCompany : function (name){ var
flag = 0; if (name == '' ) { return
false ; } else { $.ajax({ type: "POST" , url: '/checkCompany/name/'
+ name, cache: false , success: function (data){ return
data > 0 ? false
: true ; } }) } } |
通过上面代码,一直无法正确的反应数据库里是否已经有了这个名字。通过下了个全局变量,将async(默认为true)异步改成同步,就顺利得到了ajax的返回值。代码:
|
isCompany : function (name){ var
flag = 0; if (name == '' ) { return
false ; } else { $.ajax({ type: "POST" , url: '/checkName/name/'
+ name, cache: false , async: false , success: function (data){ flag = data; } }) } return
flag > 0 ? false
: true ; } |