ホームページ  >  記事  >  ウェブフロントエンド  >  jquery ajaxリクエストコードと戻り値_jquery

jquery ajaxリクエストコードと戻り値_jquery

WBOY
WBOYオリジナル
2016-05-16 15:45:351206ブラウズ

現在では、リフレッシュ以外のリクエストの効果を実現するために 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 &#63; 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 &#63; false : true;
}

上記は、jquery で ajax を使用してデータを送信し、Web サイトのバックエンドが送信したデータに基づいてデータを返す内容です。ajax を学習する皆さんの参考になれば幸いです。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。