首頁 web前端 js教程 jQuery呼叫RESTful WCF範例程式碼(GET方法/POST方法)_jquery

jQuery呼叫RESTful WCF範例程式碼(GET方法/POST方法)_jquery

May 16, 2016 pm 05:02 PM
restful

不廢話了,直奔主題吧

wcf端:

近年來比較流行restful,為了能讓ajax調用,同時也為了支持restful風格的uri,在創建一個Ajax-enabled Wcf Service後,必須手動修改svc文件,指定Factory,即:

Factory="System.ServiceModel.Activation.WebServiceHostFactory"Factory="System.ServiceModel.Activation.WebServiceHostFactory"

%>

附註:如果不加入Factory,則wcf將無法以類似http://localhost/helloWorld.svc/Hello/person/name 的restful方式直接存取。

同時也要去掉web.config中的即類似:



   
     
        
       
     

      multipleSiteBindingsEnabled="true" />
   
     
       
     
   

 


好了,開始寫程式碼,鑑於wcf呼叫時有GET/POST二種方式,下面把幾種常用的情況都寫一個範例方法:


複製程式碼 程式碼如下:

使用 System.Collections.Generic;
使用System.ServiceModel;
使用System.ServiceModel.Activation;
使用System.ServiceModel.Web;

命名空間 ajaxSamplepleple
{
    [ServiceContract(Namespace = "http://yjmyzz.cnblogs.com/")]
    [AspNetCompatibilityRequirements(Requirements. 🎜>
        /// ;
        /// 只能發表 Restful 方法
        /// ;
        ///
        ///
        [OperationContract]
        [WebInvoke(Method = "POST", UriTemplate = "PostRestfulTest/{person}/{welcome} public List; PostRestfulTest(string person,stringwelcome)
        {
            List;結果 = new List();

            result.Add("PostRestfulTest -> 來自伺服器:");
           結果。 }

        /// ;
        /// 只能取得Restful方法
        /// ;
        ///
        ///
        [OperationContract]
        [WebInvoke(Method = "GET", UriTemplate = "GETRestfulTest/{person}/{welcome} public List; GETRestfulTest(string person, stringwelcome)
        {
            List;結果 = new List;

            result.Add("GETRestfulTest -> 從伺服器:");
           結果。 }

        /// ;
        /// 即可Get與Post的Restful方法
        /// ;
        ///
        ///
        [OperationContract]
        [WebInvoke(Method = "*", UriTemplate = "RestfulTest/{person}/{welcome}", ResponseFormat = WebMessageFormat.Json)]
        public List RestfulTest(string person, stringwelcome)
  = new List();

            result.Add("RestfulTest -> 來自伺服器:");
           result.Add(person);
 
        ///         /// 只能Post的常規方法(註:Post方式,BodyStyle必須設定為WrappedRequest或Wrapped)
        ///
        ///                   List結果= new List();

            result.Add("PostRestfulTest -> 來自伺服器:");       結果。
            回傳結果;
        }

           ///

        ///
        ///
        ///         [WebInvoke(Method = "GET", ResponseFormat = WebMessageFormat.Json)]
        public List; GETTest(string p.            List;結果= new List ();

            result.Add("GETTest -> 來自伺服器:");
      新增(人);
            的結果。新增(歡迎);
            返回結果;
        }

       }

   >    }
}


jQuery 呼叫代碼:




複製程式碼


程式碼如下:




有時候,WCF暴露的方法中可能需要一些敏感資訊做為參數(例如用戶名/用戶ID之類),這時如果直接用js來呼叫wcf,可能會把這部分資訊洩漏在客戶端,這種場景下,我們也經常用一個服務端的ashx來做中轉

TestService.svc




複製程式碼


程式碼如下:


程式碼如下:


Service; 🎜>

         [OperationContract]
        public double Get       if (month == 1)//只是示範而已
            {
                return 5000;
            }
            else
            {
                return 1000;
            }
        }
    }
}


AjaxProcess.ashx
複製代碼代碼如下:


代碼如下:



代碼如下:



代碼如下:



代碼如下:



代碼如下:



代碼如下:



代碼如下:



命名空間ashx_jQuery
{
    /// ;
    /// AjaxProcess 的摘要說明    {

        public void ProcessRequest(HttpContext context)
    "text/plain";
            string Month = context.Request["month" ];

            TestService wcf = new TestService();
                 context.Response.Write("{薪資:"薪資"}");
        }
          /// ;         ///         private int GetUserId()    🎜>        }         public bool IsReusable
        {             get            {          }         }     } }jQuery叫複製程式碼程式碼如下:



渡//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >


    jQuery ashx 範例
   
   
      y  $().read (function () {
            $("#btnTest").click(function () {
               "AjaxProcess.ashx",
                   {月:1 },
function (e) {
                      var d = eval("(" e ")");                    }, "html"); 🎜>       
    腳本>;
頭>

   

       
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

Flask-RESTful和Swagger: Python web應用程式中建立RESTful API的最佳實務(第二部分) Flask-RESTful和Swagger: Python web應用程式中建立RESTful API的最佳實務(第二部分) Jun 17, 2023 am 10:39 AM

Flask-RESTful和Swagger:Pythonweb應用程式中建立RESTfulAPI的最佳實務(第二部分)在上一篇文章中,我們探討如何使用Flask-RESTful和Swagger來建立RESTfulAPI的最佳實務。我們介紹了Flask-RESTful框架的基礎知識,並展示如何使用Swagger來建立RESTfulAPI的文件。本

使用Laravel進行RESTful API開發:建構現代化的Web服務 使用Laravel進行RESTful API開發:建構現代化的Web服務 Aug 13, 2023 pm 01:00 PM

使用Laravel進行RESTfulAPI開發:建立現代化的Web服務隨著網路的快速發展,Web服務的需求日益增加。而RESTfulAPI作為一種現代化的Web服務架構方式,具備輕量、靈活、易擴展的特點,因此在Web開發中得到了廣泛應用。在本文中,我們將介紹如何使用Laravel框架來建構一個現代化的RESTfulAPI。 Laravel是PHP語言中

Python Flask RESTful怎麼使用 Python Flask RESTful怎麼使用 Apr 29, 2023 pm 07:49 PM

一、RESTful概述REST(RepresentationalStateTransfer)風格是一種以資源為導向的Web應用程式設計風格,它遵循一些設計原則,使得Web應用程式具有良好的可讀性、可擴充性和可維護性。下面我們來詳細解釋一下RESTful風格的各個方面:資源標識符:在RESTful風格中,每個資源都有一個唯一的標識符,通常是一個URL(UniformResourceLocator)。 URL用於標識資源的位置,使得用戶端可以使用HTTP協定進行存取。例如,一個簡單的URL可以是:http

使用Django建立RESTful API 使用Django建立RESTful API Jun 17, 2023 pm 09:29 PM

Django是一個Web框架,可以輕鬆建立RESTfulAPI。 RESTfulAPI是一種基於Web的架構,可以透過HTTP協定存取。在這篇文章中,我們將介紹如何使用Django來建立RESTfulAPI,包括如何使用DjangoREST框架來簡化開發過程。安裝Django首先,我們需要在本機安裝Django。可以使用pip來安裝Django,具體

Beego開發RESTful服務的最佳實踐 Beego開發RESTful服務的最佳實踐 Jun 23, 2023 am 11:04 AM

在當下資訊科技不斷創新的環境下,RESTful架構風靡於各種常用的WebAPI應用程式之中,成為了新興的服務開發趨勢。而Beego框架作為Golang中一款高效能、易擴充的Web框架,出於其高效、易用、靈活等優點,被廣泛應用於RESTful服務的開發中。下文將從Beego開發RESTful服務的最佳實踐的角度,為廣大的開發者提供一些參考。一、路由設計在REST

使用PHP建立RESTful API的步驟 使用PHP建立RESTful API的步驟 Jun 17, 2023 pm 01:01 PM

隨著互聯網的發展和普及,Web應用程式和行動應用程式越來越普遍。這些應用程式需要與後端伺服器進行通信,並取得或提交資料。在過去,常規的通訊方式是使用SOAP(簡單物件存取協定)或XML-RPC(XML遠端過程呼叫)。然而,隨著時間的推移,這些協議被認為過於笨重和複雜。現代應用程式需要更加輕巧和直接的API來進行通訊。 RESTfulAPI(表現層狀態轉換AP

RESTful API設計及其實作方法 RESTful API設計及其實作方法 Jun 22, 2023 pm 04:07 PM

RESTfulAPI是目前Web架構中較常用的一種API設計風格,它的設計理念是基於HTTP協定的標準方法來完成Web資源的表示與互動。在實作過程中,RESTfulAPI遵循一系列規則和約束,包括可快取、伺服器-客戶端分離、無狀態性等,這些規則保證了API的可維護性、擴充性、安全性以及易用性。接下來,本文將詳細介紹RESTfulAPI的設計及其實作方

如何使用Java開發一個基於RESTful的API 如何使用Java開發一個基於RESTful的API Sep 21, 2023 pm 03:53 PM

如何使用Java開發一個基於RESTful的APIRESTful是一種基於HTTP協定的架構風格,透過使用HTTP協定的GET、POST、PUT、DELETE等方法來實現對資源的操作。在Java開發中,可以使用一些框架來簡化RESTfulAPI的開發過程,如SpringMVC、Jersey等。本文將向您詳細介紹如何使用Java開發一個基於RESTful的

See all articles