亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

ASP.NET jQuery 食譜23 (jQuery AJAX實現調用頁

系統 2668 0

這節我們來看下如何實現AJAX調用頁面后臺方法和web服務定義的方法,下面通過驗證用戶的例子,先講解如何調用頁面后臺方法,具體實現步驟如下:

1.新建Recipe23.aspx頁面。

2.在該頁面的后臺文件Recipe23.aspx.cs中添加引用

      
        using
      
       System.Web.Services;
    

3.定義靜態數組和初始化數據

      
        public
      
      
        static
      
      
        string
      
      [] userNameArrray;
      

protected void Page_Load( object sender, EventArgs e)
{
userNameArrray = new string [ 5 ] { " KenLee01 " , " KenLee02 " , " KenLee03 " , " KenLee04 " , " KenLee05 " };
}

4.定義驗證用戶名合法性的靜態方法

      
        ///
      
      
        <summary>
      
      
        
/// 驗證用戶是否合法
/// </summary>
/// <remarks>
/// AJAX如果要直接調用該方法,需要添加[WebMethod()],并定義為靜態方法
/// </remarks>
/// <param name="sUserName"> 用戶名 </param>
/// <returns> 返回結果 </returns>
[WebMethod()]
public static bool CheckUserName( string sUserName)
{
// 如果用戶存在,就驗證合法
if (userNameArrray.Contains(sUserName))
{
return true ;
}

return false ;
}

5.在Recipe.aspx里面實現界面結構代碼如下

      
        <
      
      
        form 
      
      
        id
      
      
        ="form1"
      
      
         runat
      
      
        ="server"
      
      
        >
      
      
< div >
< asp:TextBox ID ="txtUserName" runat ="server" ></ asp:TextBox >
< asp:Button ID ="btnCheck" runat ="server" Text ="驗證用戶" />
</ div >
</ form >

6.在Recipe.aspx里面實現AJAX調用頁面后臺用戶驗證方法CheckUserName的腳本代碼如下

      
        <
      
      
        script 
      
      
        type
      
      
        ="text/javascript"
      
      
        >
      
      
        
$(
function () {
$(
" #btnCheck " ).click( function (e) {
e.preventDefault();

// 首先判斷用戶名是否為空,并給出提示
if ($( " #txtUserName " ).val() == "" ) {
alert(
" 請輸入用戶名! " );
}
else {
sendData($(
" #txtUserName " ).val());
}
});

// 定義一個AJAX請求方法
function sendData(sUserName) {
// 訪問頁面后臺方法
var loc = window.location.href;
$.ajax({
type:
" POST " ,
url: loc
+ " /CheckUserName " ,
// sUserName要跟請求方法CheckUserName定義的參數名稱要保持一致
// json數據格式是由一對鍵值構成,如{"name1":"value1", "name2":"value2"}
data: ' { "sUserName": " ' + sUserName + ' "} ' ,
// 發送信息至服務器時內容編碼類型
contentType: " application/json; charset=utf-8 " ,
dataType:
" json " ,
success:
function (msg) {
// AJAX響應被包裝到一個d對象里,如{"d":true},
// 因此需要用到msg.d來獲取請求返回的布爾值
if (msg.d) {
alert(
" 驗證用戶成功! " );
}
else {
alert(
" 驗證用戶失敗! " );
}
},
error:
function (xhr, textStatus, errorThrown) {
alert(
" AJAX錯誤: " + errorThrown);
}
});
}
});
</ script >

7.運行程序后顯示頁面如下:

8.輸入用戶名KenLee10:

ASP.NET jQuery 食譜23 (jQuery AJAX實現調用頁面后臺方法和web服務定義的方法)_第1張圖片

9.輸入用戶名KenLee01:

ASP.NET jQuery 食譜23 (jQuery AJAX實現調用頁面后臺方法和web服務定義的方法)_第2張圖片

10.還可以通過Firebug觀察AJAX請求響應的數據,請求數據如下:

ASP.NET jQuery 食譜23 (jQuery AJAX實現調用頁面后臺方法和web服務定義的方法)_第3張圖片

11.請求響應的JSON數據:

ASP.NET jQuery 食譜23 (jQuery AJAX實現調用頁面后臺方法和web服務定義的方法)_第4張圖片

ASP.NET jQuery 食譜23 (jQuery AJAX實現調用頁面后臺方法和web服務定義的方法)_第5張圖片


下面再來看下AJAX如何調用Web服務:

1.創建Web服務用戶驗證的文件UserNameWS.asmx,必須添加[System.Web.Script.Services.ScriptService],實現用戶驗證代碼如下:

      
        using
      
       System;
      
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;

/// <summary>
/// UserNameWS 的摘要說明
/// </summary>
[WebService(Namespace = " http://tempuri.org/ " )]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
// 若要允許使用 ASP.NET AJAX 從腳本中調用此 Web 服務,請取消對下行的注釋。
[System.Web.Script.Services.ScriptService]
public class UserNameWS : System.Web.Services.WebService {

public UserNameWS () {

// 如果使用設計的組件,請取消注釋以下行
// InitializeComponent();
}

/// <summary>
/// 驗證用戶是否合法
/// </summary>
/// <remarks>
/// AJAX如果要直接調用該方法,需要添加[WebMethod()],并定義為靜態方法
/// </remarks>
/// <param name="sUserName"> 用戶名 </param>
/// <returns> 返回結果 </returns>
[WebMethod]
public bool CheckUserName( string sUserName)
{
string [] userNameArrray = new string [ 5 ] { " KenLee01 " , " KenLee02 " , " KenLee03 " , " KenLee04 " , " KenLee05 " };
// 如果用戶存在,就驗證合法
if (userNameArrray.Contains(sUserName))
{
return true ;
}

return false ;
}
}

2.修改Recipe23.aspx的腳本代碼sendData函數,只需修改loc訪問地址:

      
        //
      
      
         定義一個AJAX請求方法
      
      
        
function sendData(sUserName) {
// 訪問頁面后臺方法
// var loc = window.location.href;
// 訪問Web服務
var loc = "UserNameWS.asmx";
........

簡單完成上面兩步,就可以直接調用web服務里面定義的方法了。具體顯示的效果圖,和上面介紹的AJAX訪問頁面方法的效果圖是一樣的,這里就不用重復寫了。

ASP.NET jQuery 食譜23 (jQuery AJAX實現調用頁面后臺方法和web服務定義的方法)


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 国产日韩91 | 2级毛片 | 免费视频毛片 | 亚洲国产精品ⅴa在线观看 亚洲国产精品aa在线看 | 五月婷婷在线视频观看 | 天天爽夜夜爽天天做夜夜做 | 97在线观看免费视频 | 四虎成人免费视频 | 亚洲国产激情一区二区三区 | 久操资源网 | 黄片毛片免费在线观看 | 国产日韩精品欧美在线ccc | 国产高清国内精品福利99久久 | 久久精品69 | 久久视频精品36线视频在线观看 | 视频一区在线 | 久久婷婷激情 | 大尺度视频网站久久久久久久久 | 性激烈欧美三级在线播放 | 亚洲成人一级 | 天天做天天爱夜夜想毛片 | 午夜国产精品理论片久久影院 | 欧美成人一级视频 | 91久久亚洲精品国产一区二区 | 中文字幕在线亚洲精品 | 日本中文在线三级在线播放 | 国产国语对白一级毛片 | 国产精品三 | 91精品国产91久久久久久麻豆 | 97国产视频| 美女很黄很黄免费 | 中文字幕一区视频一线 | 久久九九有精品国产56 | 99国产精品九九视频免费看 | 国产高清自拍视频 | 亚洲欧美精品成人久久91 | 久久福利网站 | 在线免费观看a视频 | 综合久久99久久99播放 | 女胁师~牝奴隷调教 | 成人黄18免费视频 |