乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      Jquery 之Ajax方法$.get() 的運(yùn)用,擴(kuò)展鏈接模型的天地

       WindySky 2011-03-21

      Jquery 之Ajax方法$.get() 的運(yùn)用,擴(kuò)展鏈接模型的天地

      如前文說(shuō)道的那個(gè)表現(xiàn)層和業(yè)務(wù)層的鏈接模型,從上篇博文(http://www.cnblogs.com/AflutterFeather/archive/2010/01/07/1641315.html)中可以看到:我們通過(guò)WebService提供的方法來(lái)獲取服務(wù)端的返回值。

      如果不采用WebService,有其他的方法來(lái)同服務(wù)端代碼進(jìn)行交互嗎?

      經(jīng)過(guò)研究,終于實(shí)驗(yàn)通過(guò),現(xiàn)在就$.get()方法來(lái)進(jìn)行講解。

       

      $.get(url [,data] [,callback] [,type]) -- 方法的完整定義

       

      第一:從服務(wù)端獲取字符串

      第二:根據(jù)傳入的參數(shù),自動(dòng)執(zhí)行服務(wù)端的不同方法,返回字符串

      第三:從服務(wù)端獲取Json格式的數(shù)據(jù)

       

      環(huán)境:

      靜態(tài)頁(yè)面:get1.htm

      服務(wù)端頁(yè)面: get1.aspx

      服務(wù)端返回Json格式的組件:System.Web.Extensions.dll

       

      1) get1.htm代碼(暫時(shí)不含js代碼)

       

      運(yùn)行頁(yè)面》》》

       

      代碼
      <form id="form1" action="#">
              
      <p>評(píng)論:</p>
              
      <p>姓名:<input id="username" name="username" type="text" /></p>
              
      <p>內(nèi)容:<textarea id="content" name="content" cols="20" rows="2"></textarea></p>
             
              
      <p>
                  
      <input id="send" type="button" value="提交" /></p>
      </form>


      <div>已有評(píng)論:</div>
          
      <div id="resText" class="highlight">
      </div>

       

       

      2)get1.htm代碼(js代碼)

       

      代碼
      $(function(){
          $(
      "#send").click(function(){
             $.
      get("get1.aspx",

                   { username :  $(
      "#username").val() , content :   $("#content").val()  },
                   function (data, textStatus){
                      
      if(textStatus)
                      {
                          $(
      "#resText").html(data); 
                       }
      //if
                   }//function (data, textStatus

             );
      //$.get

          })
       })

       

       

       

      3)JS代碼說(shuō)明:

      $("#username").val()  -- 獲取控件中填入的值

       

      { username :  $("#username").val() , content :   $("#content").val()} -- data輸入?yún)?shù)格式

       

      textStatus -- 返回的狀態(tài)值,bool類型的值

       

       $("#resText").html(data);  -- 從get1.aspx返回的值插入到div里面去

       

      4)get1.aspx代碼說(shuō)明

      只有一行代碼

      <%@ Page Language="C#" AutoEventWireup="true" CodeFile="get1.aspx.cs" Inherits="get1" %>

       

      5)get1.cs 代碼說(shuō)明

       

      代碼
      protected void Page_Load(object sender, EventArgs e)
       {
              
      string k1 = "";
              
      string k2 = "";
             
              
      if (Request.QueryString["username"!= null)
              {
                  k1 
      = Request.QueryString["username"].ToString();
              }
              
      if (Request.QueryString["content"!= null)
              {
                  k2 
      = Request.QueryString["content"].ToString();
              }

              Response.Write(GetInfo1(k1, k2));

      }

       

      private string GetInfo1(string username, string content)
      {
              
      return "I>>"+username + ">>" + content;
      }

      總結(jié):當(dāng)點(diǎn)擊get1.htm的提交按鈕的時(shí)候,將值傳入服務(wù)端get1.aspx,經(jīng)過(guò)處理后,通過(guò)回寫出字符串。

       

              》》》》》》》》》》》》》》》 

       

       

      進(jìn)行擴(kuò)展思維--------------------》

      擴(kuò)展1

      不通過(guò)webservice,我們就可以與服務(wù)端進(jìn)行交互,這個(gè)時(shí)候我們讓其根據(jù)傳入的參數(shù)類型來(lái)執(zhí)行不同的方法,這樣我們就可以把很多方法都寫在一個(gè)集中的頁(yè)面里面(Facade模式),以便于集中管理

       

      $.get("../get1.aspx?type=1",    -- 加了一個(gè)傳入類型

       

      .cs代碼的變化

       

      代碼
      protected void Page_Load(object sender, EventArgs e)
      {
              
      string k1 = "";
              
      string k2 = "";
              
      string strType = "";
              
      if (Request.QueryString["username"!= null)
              {
                  k1 
      = Request.QueryString["username"].ToString();
              }
              
      if (Request.QueryString["content"!= null)
              {
                  k2 
      = Request.QueryString["content"].ToString();
              }
              
      if (Request.QueryString["type"!= null)
              {
                  strType 
      = Request.QueryString["type"].ToString();
              }

              
      if (strType == "1")
              {
                  Response.Write(GetInfo1(k1, k2));
              }
              
      else if (strType == "2")
              {
                  Response.Write(GetInfo2(k1, k2));
              }
       }

          
      private string GetInfo1(string username, string content)
          {
              
      return "I>>"+username + ">>" + content;
          }

          
      private string GetInfo2(string username, string content)
          {
              
      return "II>"+username + ">>" + content;
          }

       

       

       

       

      擴(kuò)展2

      以上都是返回一個(gè)字符串,在cs頁(yè)面調(diào)用Response.write方法進(jìn)行寫入。這對(duì)于單個(gè)返回值是沒(méi)有問(wèn)題的,但如果我們要返回一個(gè)對(duì)象的值?總不能采用這種方法,用分隔符組合在一起,然后又拆開(kāi),這樣就太麻煩了,這個(gè)時(shí)候就要用到Json格式。

       

       

      代碼
      $.get("../get1.aspx?type=3",

                { username :  $(
      "#username").val() , content :  $("#content").val()  },
                 function (data, textStatus){
                     var data1 
      = ("(" + data + ")");
                     
      if(textStatus){
                          var username 
      = data1.username;
                          var content 
      = data1.content;
                
                          var txtHtml 
      = "Json>>" + username + "|" + content;
                          $(
      "#resText").html(txtHtml);
                     }
                     
      else
                     {
                          alert(
      "error");
                      }
                 },
      "JSON");

       

       

      注意:"JSON" 一定要寫成大寫,否則調(diào)用沒(méi)反映

      方法一定要加上,否則也不會(huì)顯示出值來(lái)(我的理解是:使用這個(gè)方法后,data被整理成了對(duì)象,在data1.username的時(shí)候才會(huì)顯示出來(lái)),這點(diǎn)我有點(diǎn)不太明白,還需進(jìn)行試驗(yàn)才行,不過(guò)至少用這種方式可以獲取一個(gè)對(duì)象的值。

       

      cs代碼關(guān)于JSon

       

      代碼
      private string GetInfo_Json(string username, string content)
          {

              UserInfo objUserInfo 
      = new UserInfo();
              objUserInfo.username 
      = username;
              objUserInfo.content 
      = content;
              
      return new JavaScriptSerializer().Serialize(objUserInfo); ;
          }

       

       

      注:采用JSON格式的時(shí)候,get1.aspx值允許一行代碼,如果有其他的代碼,無(wú)法返回值,關(guān)于這一點(diǎn)大家可以去嘗試一下,其實(shí)很簡(jiǎn)單,只需要在get1.aspx里面加入html代碼即可

      比如:

      <html> </html>

       

       

      總結(jié):

      經(jīng)過(guò)以上的敘說(shuō),我們可以知道了這種鏈接模型也可以在不使用WebService情況下進(jìn)行使用,這樣這種模型的天地,我覺(jué)得打開(kāi)了,完全可以做為一種獨(dú)立的模型去開(kāi)發(fā),真正得做到完全與服務(wù)器語(yǔ)言獨(dú)立,當(dāng)然我們還面臨很多要解決的困難,在接下來(lái)的博文中會(huì)陸續(xù)去解決。

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多