亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

jquery+ajax+C#實現無刷新操作數據庫數據的簡單實例

2019-11-20 21:09:13
字體:
來源:轉載
供稿:網友

我們知道同步執行和異步執行的區別,為了更好的提高用戶的體驗,我們都會采用異步方式去處理一些問題,畢竟單線程的同步可能回造成卡死等現象,很不友好,所以可以使用ajax來完成用戶的體驗,現在我們就來說說如何使用jquery的ajax來實現無刷新的獲取內容

我們只是單方面的獲取內容,分頁等就不考慮了,后期會講到無刷新的分頁

頁面中我們放置一個Div容器用來存放返回的內容

<div id="comment">
<img src="images/Wait.gif" title="數據載入中..." /></div>

注:wait.gif是一個類似進度條的效果,當沒有加載的內容沒有加載出來的時候,就顯示這個效果,這樣就能提高用戶的體驗度。然后最重要的就是jquery這塊了,需要用到ajax來完成

代碼:

復制代碼 代碼如下:

function getInfo()
{
   $.ajax({
    url:"doAction.aspx?fig=reader&id=1&page=1",
    type:"POST",
    success:function(Data)
    {
      $("#comment").html(Data);
//通過arguments[0]接收也可以 $("#comment").html(arguments[0]); 
    },
    error:function()
    {
alert("程序出錯");
    }
   })
}

url:指向的url

type:提交的方式,可以為POST或者GET

success:通信成功后執行的函數

error:通信失敗后執行的函數

beforeSend:通信前執行的韓碩

complete:通信完成后執行的函數

在這里采用了POST提交的方式,比Get更安全些,所以也可以替換成下面的方式

復制代碼 代碼如下:

function getInfo1() {
    $.post("doAction.aspx", { fig: "reader", id:"1", page:"1" }, function () {
 $("#comment").html(arguments[0]);
    })
}

可以看到參數的寫法不同,采用POST提交方式,第一種方式和第二種方式區別在于:

首先,接收參數的時候,在doAction.aspx頁面里第一種方式使用Request.QueryString["fig"]接收,第二種方式使用的是Request.Form["fig"]

其次,第一種方式當通信失敗后,可以友好的返回錯誤信息,第二種方式暫時沒發現可以返回

然后在doAction.aspx頁面中,只要進行相應的處理就可以了

復制代碼 代碼如下:

if (Request.Form["fig"] != null && Request.Form["fig"].ToString() == "reader")
 {
     ajax_getcomment("1",1);
 }
//從數據庫中獲取數據
    private void ajax_getcomment(string id, int page)
    {

 using (CommentBO cm = new CommentBO(id, page - 1))
 {
     Response.Write(cm.getCommentContent());
 }
    }


同樣如果才用Get的提交方式,使用$.get("",{},function(){})也是一樣的..

另外一種加載內容的方式可以使load()方法,關于用法可以查閱api,簡單說說上面的用load如何加載

代碼

復制代碼 代碼如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <script src="js/jquery.js" type="text/javascript"></script>
    <script type="text/javascript">
 $(function () {
     $("#btnLoad").click(function () {
  $("#content").load("doAction.aspx",{fig:"reader",id:"1",page:"1"},function (responseText, textStatus, XMLHttpRequest) {
      alert(responseText);
  });
     })
 })
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <input type="button" id="btnLoad" value="加載load" />
    <div id="content">

    </div>
    </form>
</body>
</html>


這樣就把內容加載到頁面里了,有一點問題就是發現頁面中返回的內容和alert彈出的有些不一樣,alert彈出的返回html標簽,而頁面沒有,那是因為頁面已經解析了html代碼

其他的添加,修改,刪除等基本操作也是如此,大同小異,只是在doaction.aspx頁面中調用不同的方法而已,下面把主要的jquery代碼貼出來看看

復制代碼 代碼如下:

function addpinlun()
{
   var $CommentParentID    =arguments[0];
 var $CommentUser =$('#CommentUser').val();
 var $CommentText =$('#CommentText').val();
 var $CommentValidate    =$('#CommentValidate').val();

if($.trim($CommentUser)=='')
{
  alert("請填寫昵稱!");
  $("#CommentUser").focus();
  return false;
}
if($.trim($CommentText)=='')
{
  alert("請填寫評論內容!");
  $("#CommentText").focus();
  return false;
}
if($.trim($CommentValidate)=='')
{
   alert("請輸入驗證碼");
   $("#CommentValidate").focus();
   return false;
}
StopButton('CommentSubmit',10);
//     驗證完成可以ajax添加
$.ajax({
    url: "doAction.aspx?action=add&commentparentid=" + $CommentParentID + "&commentuser=" + escape($CommentUser) + "&commenttext=" + escape($CommentText) + "&commentvalidate=" + escape($CommentValidate) + "&time=" + new Date().toString(),
    type: "GET",
    success: function (data) {
 if (arguments[0] == "ERROR") {
     alert("驗證碼超時,請重新輸入");
 }
 else {
     getInfo();
     $("#CommentText").val("");
     //驗證成功時,刷新驗證碼圖片
     $("#CommentValidateImages").attr("src", "VerifyCode.aspx?s=" + Math.random());
     //  alert("添加成功");
     $("#alertMessgae").html(data);
 }
 $('#CommentValidate').val("");
    }
})

function StopButton()
{
    document.getElementById(arguments[0]).disabled=true;
    document.getElementById(arguments[0]).value="提交("+arguments[1]+")";
   if(arguments[1]>=1)
   {
arguments[1]--;
window.setTimeout("StopButton('"+arguments[0]+"',"+arguments[1]+")",1000);
   }
   else
   {
    document.getElementById(arguments[0]).disabled=false;
    document.getElementById(arguments[0]).value="提交";
   }
}


DoAction.aspx頁面的部分代碼頁貼出來
復制代碼 代碼如下:

if(Request.QueryString["action"]!=null && Request.QueryString["action"]=="add")
 {
     if (Session["VerifyCode"].ToString().ToLower() != commentvalidate.ToLower())
     {
  Response.Write("ERROR");
     }
     else
     {
  DBQuery.ExecuteScalar("insert into comment(commentparentid,commentuser,commenttext,commentreply,commentip) values('" + commentparentid + "','" + commentuser + "','" + Server.HtmlEncode(commenttext) + "','','" + Request.ServerVariables["REMOTE_ADDR"] + "')");
  Response.Write("<script>alert('評論發表成功!</script>");
     }
 }

ajax里的屬性很多,可以查看api,根據自己的需要調用不同的屬性就可以了,這里面有一點需要注意的是

如果判斷用戶名是否有重復的時候,要使用$.getIfModified而不能是用$.get,大家可以測試一下

如果使用$.get你第一次注冊了一個名字,你不要做其他的操作,你再在文本框里面輸入相同的名稱,那個時侯還能注冊的,這點要注意。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩av免费看| 97av在线视频| 国产精品午夜视频| 在线视频日韩精品| 日韩欧美精品中文字幕| 亚洲成人免费在线视频| 2018国产精品视频| 色婷婷亚洲mv天堂mv在影片| 欧美性猛交xxxx乱大交| 欧美日韩美女在线| 国产精品亚洲美女av网站| 欧洲中文字幕国产精品| 国产综合在线视频| 国产精品视频男人的天堂| 中文字幕9999| 欧美日韩国产一区在线| 欧美三级免费观看| 国产精品扒开腿爽爽爽视频| 日韩欧美主播在线| 欧美日韩国产精品一区二区三区四区| 日韩经典一区二区三区| 国产精品视频免费在线观看| 中文字幕日韩欧美在线| 国产91在线视频| 欧美资源在线观看| 中文字幕亚洲图片| 亚洲色图av在线| 国产精品日韩久久久久| 人体精品一二三区| 亚洲免费视频在线观看| 成人中心免费视频| 日韩激情av在线播放| 中文字幕亚洲综合久久| 成人疯狂猛交xxx| 国产精品视频999| 九九久久精品一区| 国产精品丝袜视频| 国产精品老牛影院在线观看| 欧美成人国产va精品日本一级| 亚洲精品91美女久久久久久久| 亚洲黄色免费三级| 一本一道久久a久久精品逆3p| 国产精品久久久久国产a级| 日韩人体视频一二区| 色樱桃影院亚洲精品影院| 欧美在线视频一二三| 亚洲精品videossex少妇| 欧美在线一区二区视频| 国产精品美腿一区在线看| 亚洲电影免费观看高清完整版在线观看| 欧美黑人性生活视频| 亚洲美女喷白浆| 国产精品美女www| 欧美性猛交xxxxx免费看| 97超碰国产精品女人人人爽| 国产精品美女午夜av| 日韩在线不卡视频| 一本色道久久88综合亚洲精品ⅰ| 亚洲影院色无极综合| 成人情趣片在线观看免费| 激情av一区二区| 国产精品爽爽爽爽爽爽在线观看| 国模精品视频一区二区| 亚洲无av在线中文字幕| 好吊成人免视频| 国产一级揄自揄精品视频| 久久久久久久国产精品| 亚洲男人7777| 日韩在线视频观看| 亚洲欧美国产一区二区三区| 中文字幕亚洲激情| 欧美性xxxxxx| 久久影视免费观看| 色婷婷**av毛片一区| 精品国产福利在线| 96sao精品视频在线观看| 亚洲永久免费观看| 亚洲大尺度美女在线| 成人国产精品久久久久久亚洲| 欧美精品久久久久久久免费观看| 国产美女久久精品| 亚洲va久久久噜噜噜久久天堂| 日韩av一区二区在线观看| 国产成人在线精品| 国产精品人成电影在线观看| 国产一区二区三区在线观看网站| 欧美一级片免费在线| 亚洲性夜色噜噜噜7777| 国产精品第七影院| 亚洲自拍偷拍一区| 九九精品在线视频| 久久天天躁狠狠躁老女人| 国自在线精品视频| 亚洲人成电影在线| 亚洲精品成人网| 欧美日本亚洲视频| 久久亚洲国产精品| 亚洲成人av片| 欧美日韩国产第一页| 日韩中文字幕精品视频| 伊人伊成久久人综合网小说| 亚洲图片在线综合| 岛国av午夜精品| 国产精品96久久久久久又黄又硬| 国产精品自拍视频| 色综合色综合网色综合| 国产精品海角社区在线观看| 色噜噜狠狠狠综合曰曰曰| 欧美黄色片在线观看| 91免费看片网站| 在线观看久久av| 在线电影中文日韩| 日韩精品高清在线观看| 狠狠久久五月精品中文字幕| 日韩在线视频免费观看高清中文| 57pao成人国产永久免费| 欧美日韩视频免费播放| 久久人人爽人人爽爽久久| 久久成人综合视频| 欧洲美女7788成人免费视频| 亚洲最新在线视频| 亚洲成成品网站| 性夜试看影院91社区| 亚洲欧美日韩一区二区在线| 精品久久中文字幕久久av| 国产欧美日韩精品专区| 亚洲精品一区久久久久久| 精品久久久久久中文字幕一区奶水| 91精品久久久久久综合乱菊| 色综合亚洲精品激情狠狠| 国产精品免费观看在线| 国产欧美一区二区三区久久人妖| 亚洲成年人在线播放| 色99之美女主播在线视频| 欧美国产日韩一区二区| 爱福利视频一区| 热99精品里视频精品| 一本大道亚洲视频| 欧洲午夜精品久久久| 色妞在线综合亚洲欧美| 亚洲午夜未满十八勿入免费观看全集| 性色av一区二区三区| 欧美交受高潮1| 久久人人97超碰精品888| 精品福利在线视频| 亚洲色图17p| 亚洲一区二区三区乱码aⅴ| 亚洲淫片在线视频| 亚洲精品中文字| 国产欧美精品在线| 国产精品露脸自拍| 亚洲性猛交xxxxwww| 国产精品一区久久久| 日韩一区二区福利| 亚洲欧美精品在线| 正在播放国产一区| 日韩精品中文字幕在线播放| 欧美精品福利视频| 亚洲一区二区三区四区在线播放| 国产婷婷色综合av蜜臀av| 亚洲电影中文字幕| 国产精品免费小视频| 色偷偷91综合久久噜噜| 91精品久久久久久久久久另类|