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

首頁 > 開發 > AJAX > 正文

WebService服務和ajax 使用教程一例

2024-07-21 02:30:20
字體:
來源:轉載
供稿:網友

最大的網站源碼資源下載站,

  本文示例源代碼或素材下載

  題外話:.webservice技術已經有好幾年的歷史了,關于基礎的理論知識,此處省去,不說了。最近被炒了的ajax技術也被濫用的很是嚴重,至于細節,不是我說的重點。

  ajax技術的入門比較低,javascript和xml的一點利用,個人以為沒啥含量,不能在根本上解決企業的需求或者問題,在安全性,線路傳輸的低級等方面都有致命的問題.

  為什么要把webservice和ajax放一起,原因很簡單,兩者的共同點是xml,準確的來說是經常按照同一數據協議--------xml.

  本文既不說明ajax的弱,也不說webservice的強大,只是通過一個例子說明了如何使用webservice技術和ajax技術.

  我通過實例“用戶登陸”展示how.

  在本地建立一個虛擬目錄userapp。

  先創建一個webservice:

namespacecjjer{
usingsystem;
usingsystem.web.services;
[webservice(name="webscjjer",description="一個驗證用戶登陸的web服務",namespace="http://www.cjjer.com/webs/")]
publicclassuserservice{
  [webmethod(description="輸入用戶名和密,返回權限int值,0表示失敗",messagename="login")]
  publicintlogin(stringusername,stringuserpassword){
    returnuser.check(username,userpassword);
  }
};
}

  我們暫時不看細節,注意這是這個class有頭webservice,標記了這是一個web服務.

  csc編譯掉,放入bin目錄,然后login.asmx文件:

  <%@webserviceclass="cjjer.userservice"%>

  我先不說驗證的細節,我們先假設user.check()返回的是用戶級別,0表示驗證失敗.

|||注冊會員,創建你的web開發資料庫,

  現在在url中輸入地址,訪問:如圖

  webservice服務和ajax 使用教程一例

  點擊login:

  webservice服務和ajax 使用教程一例

  輸入正確的用戶名和密碼,然后點擊調用:

  webservice服務和ajax 使用教程一例

  如果不是正確的用戶名和密碼,將int節點值是0.

  我們本地的調用是在soap操作.

  還有很多方式:

  soap(最低級的)

  soap的這里不說,以后會詳細說,我這里注意看的是get和post方式:

  httpget

  面是一個httpget請求和響應示例。所顯示的占位符需要由實際值替換。

  get/userapp/login.asmx/login?username=string&userpassword=stringhttp/1.1

  host:s

  return:

http/1.1200ok
content-type:text/xml;charset=utf-8
content-length:length
<?xmlversion="1.0"encoding="utf-8"?>
<intxmlns="http://www.cjjer.com/webs/">int</int>

  httppost

  下面是一個httppost請求和響應示例。所顯示的占位符需要由實際值替換。

post/userapp/login.asmx/loginhttp/1.1
host:s
content-type:application/x-www-form-urlencoded
content-length:length
username=string&userpassword=string

|||

  return:

http/1.1200ok
content-type:text/xml;charset=utf-8
content-length:length
<?xmlversion="1.0"encoding="utf-8"?>
<intxmlns="http://www.cjjer.com/webs/">int</int>

  我們可以輸入url的地址,或者post的action,就可以訪問和提交獲取結果了.

  此處可以選擇的操作其實也很多,使用屏幕清理技術,還可以用xml的處理框架提交信息的結果,也可以用其他技術,不說了,反正都是貌似需要幾十行或者比我下面多一些處理。

  我說的是使用sdk的工具wsdl工具處理代理的web服務.

  wsdl/l:cs/out:webscjjer.cs/namespace:webs/urlkey:websuser/nologohttp://s:81/userapp/login.asmx?wsdl

  得到webscjjer.cs源文件。

  注意:/urlkey:websuser表示是url可以是從web.config文件的websuser獲取,這樣做是避免硬編碼,看看webscjjer.cs

.......
  publicwebscjjer(){
      stringurlsetting=system.configuration.configurationsettings.appsettings["websuser"];
      if((urlsetting!=null)){
        this.url=urlsetting;
      }
      else{
        this.url="http://s:81/userapp/login.asmx";
      }
    }
.......

  :

  為了能被其他的人訪問,需要加入如下代碼到web.config:

  <system.web>
  <webservices>
    <protocols>
      <addname="httppost"/>
      <addname="httpget"/>
    </protocols>
  </webservices>

|||
  • 網站運營seo文章大全
  • 提供全面的站長運營經驗及seo技術!
  •   就是代理許可.

      編譯了這個類,到bin,使用的時候如下:

    voidonlogin(objects,eventargse){
      webs.webscjjerws_app=newwebs.webscjjer();
      returnint.text=ws_app.login(myusername.text,mypassword.text).tostring();
    }

      這樣,直接能返回結果,不需要我們自己正則或者xml處理,不需要知道驗證的細節。

      看看如下效果:

      登陸界面:

      webservice服務和ajax 使用教程一例

      如果登陸成功:

      webservice服務和ajax 使用教程一例

      否則;

      webservice服務和ajax 使用教程一例

      ajax需要的代碼可能要稍微多一點:

    functionajaxlogin(){
      varwebsurl='http://s:81/userapp/login.asmx/login?';
      if(!checkloadfocus(document.all.myusername) )  {  
        alert('用戶名不合法,請返回');
        returnfalse;
      }elseif(!checkloadfocus(document.all.myusername) )  {  
        alert('密碼不合法,請返回');
        returnfalse;
      }
      varurlstr=websurl+'username='+document.all.myusername.value+'&userpassword='+document.all.mypassword.value;
      ajaxlogin(urlstr);
      returnfalse;
    }
    functioncheckloadfocus(thise){
      varsreg='([a-za-z0-9]+){3,}$';
      varreg=newregexp(sreg,"i");
      try{
        if(!reg.test(thise.value)){
          thise.value='admin';
          thise.style.background='#ffffbf';
          thise.focus();
          thise.select();
          alert('提交不合法,請返回');
          returnfalse;
        }
      thise.select();
      thise.style.background='#fff';
      }catch(e){}
      returntrue;
    }
    functionajaxlogin(file){
     varxmlobj=null;
     if(window.xmlhttprequest){
       xmlobj=newxmlhttprequest();
     }elseif(window.activexobject){
       xmlobj=newactivexobject("microsoft.xmlhttp");
     }else{
       return;
     }
     xmlobj.onreadystatechange=function(){
      if(xmlobj.readystate==4){
        varrstr;
        varmylevl=parseint(xmlobj.responsexml.getelementsbytagname('int')[0].firstchild.data);
        if(mylevl>0){
          rstr=('登陸成功,權限是'+mylevl);
        }else{
          rstr=('登陸失敗');
        }
        alert(rstr);
      }
      }
      xmlobj.open('get',file,true);
      xmlobj.send('');
     }

      總結:就著樣,如果發布了web服務,就可以使用wsdl創建代理類,然后獲取數據,或者使用ajax獲取,兩者在簡單的功能實現上ajax可能在不支持.net的系統可以實現一些功能,但應對企業級的需求,比方二進制對象傳輸,安全性要求比較高的需求等。web服務注重的是公開服務內容并使用,ajax注重的是或者xml的數據,在長遠的開來,web服務更加具有廣泛的使用前景,它在異步傳輸,分布式數據處理上占有很重要的一席之地,我只據了一個小小的例子以說明這一點。

    發表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發表
    亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
    青青久久aⅴ北条麻妃| 26uuu亚洲国产精品| 精品中文字幕久久久久久| 亚洲人成在线电影| 欧美午夜宅男影院在线观看| 亚洲性线免费观看视频成熟| 国产成人涩涩涩视频在线观看| 2020欧美日韩在线视频| 亚洲经典中文字幕| 国产一区二区黑人欧美xxxx| 狠狠色狠狠色综合日日五| 亚洲电影免费观看高清完整版在线| 久久久久久亚洲精品| 亚洲片在线资源| 91久久国产综合久久91精品网站| 亚洲精品国产品国语在线| 日韩中文字幕在线视频播放| 国产欧美日韩中文字幕在线| xvideos亚洲人网站| 欧美午夜宅男影院在线观看| 亚洲成人精品久久| 好吊成人免视频| 亚洲国产精品va在线观看黑人| 亚洲欧美国产制服动漫| 亚洲综合最新在线| 美日韩精品免费观看视频| 日本久久久久久久久| 欧美视频一区二区三区…| 国内精品国产三级国产在线专| 777国产偷窥盗摄精品视频| 色无极影院亚洲| 久久久免费av| 久久777国产线看观看精品| 日韩av中文字幕在线| 这里只有精品视频在线| 欧美性在线视频| 欧美性极品xxxx娇小| 亚洲欧美中文另类| 91免费人成网站在线观看18| 97精品国产aⅴ7777| 亚洲天堂成人在线视频| 亚洲自拍小视频| 91高清免费在线观看| 亚洲国产精品久久久久秋霞不卡| 国产成人avxxxxx在线看| 欧美亚洲日本网站| 亚洲a中文字幕| 日韩大胆人体377p| 日韩成人黄色av| 亚洲的天堂在线中文字幕| 日韩精品在线播放| 中文字幕日韩欧美在线视频| 久久精品欧美视频| 国产精品美女久久久免费| 亚洲精品v欧美精品v日韩精品| 久久精品国产欧美亚洲人人爽| 欧美激情精品久久久| 日韩在线观看免费高清完整版| 亚洲精品电影网站| 日韩av中文字幕在线播放| 欧美黄网免费在线观看| 亚洲加勒比久久88色综合| 亚洲成人久久电影| 欧美与欧洲交xxxx免费观看| 日韩视频―中文字幕| 亚洲美女免费精品视频在线观看| 国产精品综合网站| 国产精品视频午夜| 亚洲欧美在线磁力| 成年无码av片在线| 国产精品精品久久久| 欧美在线视频在线播放完整版免费观看| 欧美日韩国产精品| 国产在线视频欧美| 欧美性生交大片免网| 午夜精品一区二区三区在线视| 亚洲级视频在线观看免费1级| 69久久夜色精品国产69乱青草| 欧美乱大交xxxxx| 激情亚洲一区二区三区四区| 欧美在线免费看| 欧美最猛性xxxxx(亚洲精品)| 亚洲国产精品成人va在线观看| 亚洲一区二区三区在线免费观看| 正在播放欧美一区| 欧美色另类天堂2015| 久久影院免费观看| 不卡av日日日| 狠狠色香婷婷久久亚洲精品| 欧美一区三区三区高中清蜜桃| 日韩在线观看视频免费| 精品自拍视频在线观看| 日韩欧美精品网站| 8x拔播拔播x8国产精品| 国产精品一二三在线| 久久久久久久影视| 久久久久久久久久久免费| 欧美二区在线播放| 欧美综合第一页| 亚洲最大福利视频| 欧美一级大片在线观看| 亚洲伊人成综合成人网| 亚洲欧美日韩天堂一区二区| 国产精品久久久久久av下载红粉| 国产精品夜间视频香蕉| 国产精品夜间视频香蕉| 97色在线观看| 亚洲精品国偷自产在线99热| 国产精品va在线播放我和闺蜜| 亚洲va欧美va国产综合久久| 国产精品自产拍在线观看中文| 69av成年福利视频| 国产女精品视频网站免费| 95av在线视频| 国产香蕉一区二区三区在线视频| 欧亚精品中文字幕| 亚洲美女在线观看| 91久久精品美女| 国模视频一区二区三区| 国产精品入口夜色视频大尺度| 91亚洲精品在线| 亚洲片在线资源| 国产成人自拍视频在线观看| 国产精品久久久久久久久男| 日韩精品在线私人| 色99之美女主播在线视频| 亚洲人成人99网站| 韩剧1988免费观看全集| 国产精品视频色| 亚洲自拍偷拍一区| 81精品国产乱码久久久久久| 亚洲精品日产aⅴ| 91深夜福利视频| 亚洲欧洲高清在线| 欧美在线观看www| 亚洲女人天堂视频| 国产精品久久久久久亚洲调教| 国产成人精品视频在线观看| 久久久久久中文| 国产欧美精品在线| 亚洲国产精品久久久| 不卡中文字幕av| 欧美又大粗又爽又黄大片视频| 亚洲片av在线| 久久久久久尹人网香蕉| 中文日韩电影网站| 欧美日本中文字幕| 国产精品亚洲一区二区三区| 日韩av在线免费看| 亚洲综合精品一区二区| 国产精品视频成人| 亚洲第一区在线观看| 国产成+人+综合+亚洲欧美丁香花| 久久69精品久久久久久久电影好| 国产成人在线一区| 欧美色道久久88综合亚洲精品| 亚洲成人黄色在线| 午夜精品久久久久久久99热| 91精品久久久久久久久久久| 伊人青青综合网站| 国产欧美日韩视频| 亚洲国语精品自产拍在线观看| 国产精品久久久久久av福利| 97在线视频精品|