真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Ajax調(diào)用.netWCF-創(chuàng)新互聯(lián)

實(shí)驗(yàn)多次,其實(shí)比較簡(jiǎn)單,只是走了不少彎路,現(xiàn)在總結(jié)一下,
環(huán)境: VS2015

網(wǎng)站的建設(shè)成都創(chuàng)新互聯(lián)專注網(wǎng)站定制,經(jīng)驗(yàn)豐富,不做模板,主營網(wǎng)站定制開發(fā).小程序定制開發(fā),H5頁面制作!給你煥然一新的設(shè)計(jì)體驗(yàn)!已為濕噴機(jī)等企業(yè)提供專業(yè)服務(wù)。
  1. 創(chuàng)建.net WCF非常容易,我是使用IIS做服務(wù)支撐,直接在web application項(xiàng)目中添加新的WCF,
    Ajax調(diào)用.net WCF

2.添加一個(gè)service接口(這個(gè)可以不用,我習(xí)慣了),接口中定義需要發(fā)布的幾個(gè)方法。

interface ISystemUserSvr
    {
        [OperationContract]
        [WebGet]
        List RetrieveUser();

        [OperationContract]
        [WebInvoke(RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.WrappedRequest)]
        List RetrieveBy(string loginId, string userName);

        [OperationContract]
        [WebInvoke(RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.WrappedRequest)]
        List RetrieveByObj(SystemUser user);

    }

其中,第一個(gè)方法使用Get方式,其余兩個(gè)使用Post方式接收參數(shù)。Post是默認(rèn)的方式,這里也可以不用設(shè)置,包括Request和Response的設(shè)置都是默認(rèn)值。

  1. 方法實(shí)現(xiàn)就簡(jiǎn)單了,直接寫就可以了。這里只是舉個(gè)例子

    public List RetrieveUser()
        {
            return (new SystemUserBO()).Retrieve(); 
        }
    
        public List RetrieveBy(string loginId, string userName)
        {
    
            return (new SystemUserBO()).Retrieve(loginId, userName, 0, 0);
        }
    
        public List RetrieveByObj(SystemUser user)
        {
            return (new SystemUserBO()).Retrieve(user.LoginId, user.UserName, 0, 0);
        }
  2. web.config配置,基本不需要特別配置,使用MS配置編輯器(VS自帶),注意ReaderQuotas設(shè)置就行,把大長(zhǎng)度都放到大就好。
    Ajax調(diào)用.net WCF

  3. 客戶端調(diào)用,把幾種調(diào)用方式都列一下吧

    • Get方式,無參數(shù)

      $.ajax({
              contentType: 'application/json;charset=utf-8',
              method: "get",
              type: "get",
              dataType: "json",
              url: "SystemUserSvr.svc/Retrieve",
              success: function (result) {
                  $.each(result.d, function (n, value) {
      
                      $('#ajaxResult').append(value.UserName + "

      " + n); } ); } }); });

  • Post方式,傳Json字符串參數(shù)

     $.ajax({
                contentType: 'application/json;charset=utf-8',
                method: "post",
                type: "post",
                data: JSON.stringify({ "LoginId": "R", "UserName": "" }),
                dataType: "json",
                url: "SystemUserSvr.svc/RetrieveBy",
                success: function (result) {
                    $.each(result.d, function (n, value) {
    
                        $('#ajaxResult').append(value.UserName + "

    " + n); } ); } }); });

  • Post方式,傳Json對(duì)象

     $.ajax({
                contentType: 'application/json;charset=utf-8',
                method: "post",
                type: "post",
                data: JSON.stringify({ "user": { "LoginId": "R", "UserName": "王" } }),
                dataType: "json",
                url: "SystemUserSvr.svc/RetrieveByObj",
                success: function (result) {
                    $.each(result.d, function (n, value) {
    
                        $('#ajaxResult').append(value.UserName + "

    " + n); } ); } });

Post傳參最需要注意的就是那個(gè)contentType的設(shè)置, contentType: 'application/json;charset=utf-8'不能漏掉,否則,傳參可能不成功。另外.net WCF 返回的數(shù)據(jù)有可能是d對(duì)象,所以在解析返回?cái)?shù)據(jù)的時(shí)候,需要特別注意一下,這里的例子直接使用了result.d,從而獲得d對(duì)象的值。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。


標(biāo)題名稱:Ajax調(diào)用.netWCF-創(chuàng)新互聯(lián)
URL分享:http://weahome.cn/article/ejijj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部