ホームページ > 記事 > ウェブフロントエンド > jquery ajaxリクエストコードと戻り値_jquery
現在では、リフレッシュ以外のリクエストの効果を実現するために 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 は非同期 [非同期] の略語で、デフォルトは true のブール値です。 async が true の場合、ajax リクエストは完了したかどうかに関係なく実行されます。同期リクエストはブラウザを一時的にロックし、リクエストの実行中は何もアクションを実行しません。
過去 2 日間に実装される関数を記述します。データベースにデータが存在するかどうかを判断し、存在しない場合は、データを入力して送信します。コードは次のとおりです:
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; }
上記は、jquery で ajax を使用してデータを送信し、Web サイトのバックエンドが送信したデータに基づいてデータを返す内容です。ajax を学習する皆さんの参考になれば幸いです。