<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      webservice和wcf和web.api簡單介紹

      轉自:無廢話的wcf等等

      在.net平臺下,有大量的技術讓你創建一個HTTP服務,像Web Service,WCF,現在又出了Web API。在.net平臺下,你有很多的選擇來構建一個HTTP Services。我分享一下我對Web Service、WCF以及Web API的看法。

        Web Service

        1、它是基于SOAP協議的,數據格式是XML

        2、只支持HTTP協議

        3、它不是開源的,但可以被任意一個了解XML的人使用

        4、它只能部署在IIS上

       

        WCF

        1、這個也是基于SOAP的,數據格式是XML

        2、這個是Web Service(ASMX)的進化版,可以支持各種各樣的協議,像TCP,HTTP,HTTPS,Named Pipes, MSMQ.

        3、WCF的主要問題是,它配置起來特別的繁瑣

        4、它不是開源的,但可以被任意一個了解XML的人使用

        5、它可以部署應用程序中或者IIS上或者Windows服務中

       

        WCF Rest

        1、想使用WCF Rest service,你必須在WCF中使用webHttpBindings

        2、它分別用[WebGet]和[WebInvoke]屬性,實現了HTTP的GET和POST動詞

        3、要想使用其他的HTTP動詞,你需要在IIS中做一些配置,使.svc文件可以接受這些動詞的請求

        4、使用WebGet通過參數傳輸數據,也需要配置。而且必須指定UriTemplate

        5、它支持XML、JSON以及ATOM這些數據格式

       

        Web API

        1、這是一個簡單的構建HTTP服務的新框架

        2、在.net平臺上Web API 是一個開源的、理想的、構建REST-ful 服務的技術

        3、不像WCF REST Service.它可以使用HTTP的全部特點(比如URIs、request/response頭,緩存,版本控制,多種內容格式)

        4、它也支持MVC的特征,像路由、控制器、action、filter、模型綁定、控制反轉(IOC)或依賴注入(DI),單元測試。這些可以使程序更簡單、更健壯

        5、它可以部署在應用程序和IIS上

        6、這是一個輕量級的框架,并且對限制帶寬的設備,比如智能手機等支持的很好

        7、Response可以被Web API的MediaTypeFormatter轉換成Json、XML 或者任何你想轉換的格式。

        

        WCF和WEB API我該選擇哪個?

        1、當你想創建一個支持消息、消息隊列、雙工通信的服務時,你應該選擇WCF

        2、當你想創建一個服務,可以用更快速的傳輸通道時,像TCP、Named Pipes或者甚至是UDP(在WCF4.5中),在其他傳輸通道不可用的時候也可以支持HTTP。

        3、當你想創建一個基于HTTP的面向資源的服務并且可以使用HTTP的全部特征時(比如URIs、request/response頭,緩存,版本控制,多種內容格式),你應該選擇Web API

        4、當你想讓你的服務用于瀏覽器、手機、iPhone和平板電腦時,你應該選擇Web API

      1.webservice例子介紹

      原理:WebService是一個SOA(面向服務的編程)的架構,它是不依賴于語言,不依賴于平臺,可以實現不同的語言間的相互調用,通過Internet進行基于Http協議的網絡應用間的交互。
      作用:主要用于數據交換、提供服務接口
      優點:可跨平臺、部署簡單調用方便、無需額外客戶端支持

      一、創建一個WebService服務
      1.創建一個普通的Asp.Net Web應用程序,名稱為WebServiceDemo

      2.在剛創建的web程序里添加一個WebService服務文件,名稱為TestService.asmx, 步驟看截圖

      3.編寫TestService.asmx服務代碼,代碼如下

      復制代碼 代碼如下:

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

      namespace WebService
      {
          /// <summary>
          /// TestService 的摘要說明
          /// </summary>
          [WebService(Namespace = "http://aaa.org/")]
          [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
          [System.ComponentModel.ToolboxItem(false)]
          // 若要允許使用 ASP.NET AJAX 從腳本中調用此 Web 服務,請取消對下行的注釋。
          // [System.Web.Script.Services.ScriptService]
          public class TestService : System.Web.Services.WebService
          {
              [WebMethod]
              public string HelloWorld()
              {
                  return "Hello World";
              }

              [WebMethod]
              public int Add(int i, int j)
              {
                  return i + j;
              }
          }
      }

      4.進行編譯。然后F5運行剛創建的項目,我這邊的url是:http://localhost:50639/testservice.asmx , 如果能看到下面截圖就說明創建成功。

      二、后臺調用方式
      1.添加服務引用(可以添加一個新項目或在當前WebServiceDemo項目里做引用測試,這里我直接在WebServiceDemo做引用測試)

      步驟:

      a) 右擊WebServiceDemo項目里的引用,然后選擇“添加服務引用”

      b) 彈出框地址填寫: http://localhost:50639/TestService.asmx, (注意:這里要換成你自己剛運行的服務地址)

      c) 命名空間改為“TestServiceReference”,然后點擊“往前”按鈕進行測試,如無問題,點擊確定按鈕完成服務的引用

      如下截圖:

      2.在后臺cs調用,新建一個web.aspx頁面,在后臺鍵入如下代碼進行測試

      復制代碼 代碼如下:

      protected void Page_Load(object sender, EventArgs e)
      {
          //RegisterHyperLink.NavigateUrl = "Register.aspx?ReturnUrl=" + HttpUtility.UrlEncode(Request.QueryString["ReturnUrl"]);

          //調用方法
          TestServiceReference.TestServiceSoapClient testService = new TestServiceReference.TestServiceSoapClient();
          int result = testService.Add(1, 2);
          string hellowWorld = testService.HelloWorld();
          Page.Response.Write("整型結果:" + result.ToString() + "。字符串結果:" + hellowWorld);
      }

      3.如看到結果,說明WebService的創建和引用成功了

      三、前臺js調用方式
      1.打開TestService.asmx,對代碼進行修改,以適應js調用,代碼如下

      復制代碼 代碼如下:

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

      namespace WebService
      {
          /// <summary>
          /// TestService 的摘要說明
          /// </summary>
          [WebService(Namespace = "http://tempuri.org/")]
          [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
          [System.ComponentModel.ToolboxItem(false)]
          // 若要允許使用 ASP.NET AJAX 從腳本中調用此 Web 服務,請取消對下行的注釋。
          [System.Web.Script.Services.ScriptService]
          public class TestService : System.Web.Services.WebService
          {
              public string GetWeekName(int day)
              {
                  string result;
                  if (day > 6)
                  {
                      result = "輸入格式有誤";
                  }
                  else
                  {
                      DayOfWeek week = (DayOfWeek)day;
                      result = week.ToString();
                  }
                  return result;
              }
          }
      }

      2.前端頁面代碼(注意這里需要引入jquery文件)

      復制代碼 代碼如下:

      <script type="text/javascript">
          $(function () {
              $.ajax({
                  type: 'POST',
                  url: 'TestService.asmx/GetWeekName',
                  data: '{ day: 4}',
                  dataType: 'json',
                  contentType: "application/json",
                  success: function (data) {
                      alert(data.d);
                  }
              });
          });
      </script>

      3.編譯WebService所在項目,然后運行我們剛寫好的前端頁面, 結果如下

      4.看到結果了嗎,如果看到,說明你已經從創建一個WebService服務到使用都已經操作了一遍。舉一反三,剩下的看你的了

      2.wcf例子介紹

      一、概述

        Windows Communication Foundation(WCF)是由微軟發展的一組數據通信的應用程序開發接口,可以翻譯為Windows通訊接口,它是.NET框架的一部分。由 .NET Framework 3.0 開始引入。

        WCF的最終目標是通過進程或不同的系統、通過本地網絡或是通過Internet收發客戶和服務之間的消息。

        WCF合并了Web服務、.net Remoting、消息隊列和Enterprise Services的功能并集成在Visual Studio中。

        WCF專門用于面向服務開發。

      二、基于Asp.net 的應用程序開發與面向服務開發

      wcf

        在基于Asp.net 的應用程序開發中,我們由客戶機的瀏覽器訪問應用程序服務器,然后通過應用程序服務器中的數據庫連接去連接數據庫服務器,讀取或是操作數據,有時候可能會 多一個文件服務器。大家可以觀察到,基本上所有的應用都放在了一臺服務器上,但對于一個,由于業務上的需要(如:與外部系統交互),一臺服務器很難支持所 有的應用。我們再看下面的圖:

      wcf

        客戶機使用瀏覽器訪問服務器A,服務器A為了業務需要與其他各種應用部署在服 務器B、C、D....再通過WCF技術互相通信,相互訪問...然而面向服務的好處不僅僅在此,他還提供了不同語言不同操作系統的可交互性..由于本文 不是介紹SOA的文章,感興趣的同學可以參見:SOA

      三、第一個WCF程序

        1. 新建立空白解決方案,并在解決方案中新建項目,項目類型為:WCF服務應用程序。建立完成后如下圖所示:

      wcf

        2.刪除系統生成的兩個文件IService1.cs與Service1.svc。

        3.添加自定義的WCF【服務文件】User.svc,此時vs2010會自動生成WCF接口文件IUser.cs,我們在IUser中定義WCF方法ShowName,在User.svc.cs對該接口的方法進行實現。

      代碼如下:

      復制代碼
      復制代碼
       1 using System.ServiceModel;
       2 
       3 namespace WCFService
       4 {
       5     [ServiceContract]
       6     public interface IUser
       7     {
       8         [OperationContract]
       9         string ShowName(string name);
      10     }
      11 }
      12 
      13 
      14 namespace WCFService
      15 {
      16     public class User : IUser
      17     {
      18         public string ShowName(string name)
      19         {
      20             string wcfName = string.Format("WCF服務,顯示姓名:{0}", name);
      21             return wcfName;
      22         }
      23     }
      24 }
      復制代碼
      復制代碼

        大家可以看到,在WCF中的接口與普通接口的區別只在于兩個上下文,其他的和我們正常學習的接口一樣。定義這個上下文要添加System.ServiceModel的引用。

      [ServiceContract],來說明接口是一個WCF的接口,如果不加的話,將不能被外部調用。

      [OperationContract],來說明該方法是一個WCF接口的方法,不加的話同上。 

      此時我們的第一個WCF服務程序就建立好了,將User.svc“設為起始頁”,然后F5運行一下試試,如下圖所示,VS2010自動調用了WCF的客戶端測試工具以便我們測試程序:

        我們雙擊上圖中的 ShowName() 方法,出現如下圖:

        在請求窗口中的值中輸入參數“你的姓名”,然后點擊“調用”,在響應窗口中會 出現返回值“WCF服務,顯示姓名:你的姓名”,說明測試成功,點擊下面的XML也可以看到XML的數據傳輸。我們現在建立好了服務的應用程序和業務邏 輯,即非常簡單的打印姓名的方法,測試也成功了。那么我們怎么用呢?

      四、場景

        我們設計的場景是在生產中經常應用的場景,把WCF程序寄宿在IIS之上。假 設場景如下:A服務器和B服務器。我們把我們剛剛建立的WCF程序“部署”在B服務器上(本教程的A,B服務器都放是我自己的一臺機器),我們的目標是在 A服務器的應用程序來訪問B服務器的WCF程序,實現服務器端的應用程序通訊。

      五、將WCF程序寄宿在B服務器的IIS之上

        首先我們將WCF應用程序發布一下,然后部署在B服務器的IIS之上,如下圖所示:

       

        鼠標右鍵瀏覽Uesr.svc,在游覽器中出現如下圖所示,說明服務部署成功。

         上圖中的http://localhost/User.svc?wsdl即為我們要引用的服務地址。

      六、在客戶端[A服務器]創建服務的引用

        我們這里以Web應用程序為例,建立地物理地址為本機,但是大家可以想像成B服務器是遠程計算機,localhost為一個其他的IP地址。

        新建解決方案,并且創建ASP.NET Web應用程序的項目。命名為:WCFClient,如下圖所示:

       

        (1)新建Asp.net頁面,命名為:WcfTest.aspx。

        (2)添加在第五步中部署的服務的引用。如下圖所示:

      wcf

        此時彈出添加服務引用的窗體,如下圖所示:

        我們在地址里寫上我們寄宿在IIS上的WCF服務的地址服務路徑,此處為:http://localhost/User.svc?wsdl, 在名稱空間處填寫WCFService[此名稱空間要在下面的客戶端中引用]然后點擊“前往”-->“確定”按鈕。此時我們完成了對服務的引用。我 們再次查看解決方案,里面多了Service References的文件夾,通過資源管理器打開后里面多了些文件,這些文件用于客戶端向服務端的調用,現在先不用管他。

       、使用WCF服務端的方法

        WcfTest.aspx的代碼如下:

      復制代碼
      復制代碼
       1 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WCFTest.aspx.cs" Inherits="WCFClient.WCFTest" %>
       2 
       3 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
       4 <html xmlns="http://www.w3.org/1999/xhtml">
       5 <head runat="server">
       6     <title></title>
       7 </head>
       8 <body>
       9     <form id="form1" runat="server">
      10     <asp:TextBox ID="txtName" runat="server"></asp:TextBox><br />
      11     <asp:Button ID="btnSubmit" runat="server" Text="測試WCF服務" OnClick="btnClick" />
      12     </form>
      13 </body>
      14 </html>
      15 
      16 using System;
      17 using System.Collections.Generic;
      18 using System.Linq;
      19 using System.Web;
      20 using System.Web.UI;
      21 using System.Web.UI.WebControls;
      22 
      23 //引用WCF服務的名稱空間
      24 using WCFClient.WCFService;
      25 
      26 namespace WCFClient
      27 {
      28     public partial class WCFTest : System.Web.UI.Page
      29     {
      30         protected void Page_Load(object sender, EventArgs e)
      31         {
      32 
      33         }
      34 
      35         protected void btnClick(object sender, EventArgs e)
      36         {
      37             UserClient user = new UserClient();
      38             string result = user.ShowName(this.txtName.Text);
      39             Response.Write(result);
      40         }
      41     }
      42 }
      復制代碼
      復制代碼

        上面中的UserClient類是在添加引用的時候生成的服務端User類的客戶端代理類,一般客戶端代理類名稱都會是**Client。我們運行一下看下效果。

        通過以上的例子,我們完成了由A服務器的應用向B服務器中WCF提供的方法的調用。這個例子比較簡單,對于經常開發B/S結構應用程序的同學們來說比較好理解。

      八、說明:因為網上的入門教程比較少,本教程只做入門,后面會繼續講些其他入門的東西,深入的請看園子里:Artech 大哥的文章。

      九、代碼下載:

        10 WCF 教程

      十、版權

        轉載請注明出處:http://www.rzrgm.cn/iamlilinfeng

      活到老,學到老,練到老...
      3.web.api的例子介紹
        HTTP 不只是用于生成 web 頁面。它也是功能強大的平臺,用于構建公開服務和數據的 Api。HTTP 是簡單、靈活并且無處不在。所以 HTTP 客戶端服務范圍非常廣泛,包括瀏覽器、 移動設備和傳統的桌面應用程序。ASP.NET Web API 是用于生成 web Api 在.NET 框架上的框架。在本教程中,您將使用 ASP.NET Web API 創建的 web API 返回的產品列表。前端 web 頁使用 jQuery 來顯示結果。

       

      啟動 Visual Studio 時,從開始頁中選擇新項目或者,從文件菜單中,選擇新建,然后項目.

      模板窗格中選擇已安裝的模板和展開Visual C#節點。Visual C#中,選擇Web在項目模板的列表中,選擇ASP.NET MVC 4 Web 應用程序。"HelloWebAPI"項目命名并單擊確定.

       

      新的 ASP.NET MVC 4 項目對話框中,選擇Web API并單擊確定.

       

       

      添加Model

      一個Model對象,表示您的應用程序中的數據模型。ASP.NET Web API 可以自動序列化到 JSON、 XML 或一些其他格式,然后將序列化的數據寫入 HTTP 響應消息的正文。只要客戶端可以讀取序列化格式,它可以反序列化對象。大多數客戶端可以解析 XML 或 JSON。讓我們首先創建一個簡單的Model,此示例中用來代表一種產品。如果解決方案資源管理器中不可見,請單擊視圖菜單,然后選擇解決方案資源管理器在解決方案資源管理器中,右鍵單擊模型文件夾。從上下文菜單中,選擇添加,然后選擇.

       

      命名類"Product"。下一步,將下列屬性添加到 Product類。

       

      復制代碼
      復制代碼
      using System;
      using System.Collections.Generic;
      using System.Linq;
      using System.Web;
      
      namespace HellowWebApi.Models
      {
          public class Product
          {
              public int Id { get; set; }
              public string Name { get; set; }
              public string Category { get; set; }
              public decimal Price { get; set; }
          } 
      
      }
      復制代碼
      復制代碼

       

           控制器是一個對象,用于處理 HTTP 請求。如果您使用過 ASP.NET MVC ,然后您已熟悉控制器。那么同樣應用在Web API 中,但是Web API 中的控制器從ApiController類而不是控制器類派生的。還有一個主要區別是 Web API 控制器上的行動返回不是視圖,而是返回數據。

        

      添加一個新的控制器,如下所示:

      解決方案資源管理器中,右鍵單擊控制器文件夾。選擇添加,然后選擇控制器.

       

       

      添加控制器向導中,命名為"ProductsController"的控制器。模板下拉列表中選擇空 API 控制器。然后單擊添加.

      添加控制器向導將創建一個名為控制器文件夾中的 ProductsController.cs 文件。

      添加下面的實現:

      復制代碼
      復制代碼
      using HellowWebApi.Models;
      using System;
      using System.Collections.Generic;
      using System.Linq;
      using System.Net;
      using System.Web;
      using System.Web.Http;
      using System.Web.Mvc;
      
      namespace HellowWebApi.Controllers
      {
          public class ProductsController : ApiController
          {
              Product[] products = new Product[]  
              {  
                  new Product { Id = 1, Name = "Tomato Soup", Category = "Groceries", Price = 1 },  
                  new Product { Id = 2, Name = "Yo-yo", Category = "Toys", Price = 3.75M },  
                  new Product { Id = 3, Name = "Hammer", Category = "Hardware", Price = 16.99M }  
              };
      
              public IEnumerable<Product> GetAllProducts()
              {
                  return products;
              }
      
              public Product GetProductById(int id)
              {
                  var product = products.FirstOrDefault((p) => p.Id == id);
                  if (product == null)
                  {
                      throw new HttpResponseException(HttpStatusCode.NotFound);
                  }
                  return product;
              }
      
              public IEnumerable<Product> GetProductsByCategory(string category)
              {
                  return products.Where(
                      (p) => string.Equals(p.Category, category,
                          StringComparison.OrdinalIgnoreCase));
              } 
      
      
          }
      }
      復制代碼
      復制代碼

      這只是一個簡單的模擬實現,控制器類內部使用固定數組來模擬數據存儲產品。當然,在實際的應用程序,將從數據庫中查詢或使用一些其他外部數據源。

      控制器定義返回產品清單的三種方法:

      • GetAllProducts方法 返回IEnumerable <Product>類型的產品的整個列表。
      • GetProductById方法 根據產品Id查找一個單一的產品。
      • GetProductsByCategory方法 返回與指定類別的所有產品。

       

       每個控制器上的方法映射到一個 URI:

       

      控制器的方法URI
      GetAllProducts /api/products
      GetProductById /api/products/id
      GetProductsByCategory /api/products/?category=category

      客戶端可以調用該方法,通過發送一個 HTTP GET 請求的 uri。稍后,我們來看看這種映射如何完成的。首先,讓我們試試看。

       

      使用瀏覽器調用 Web API

       打開瀏覽器 輸入http://localhost:xxxx/api/products/(替換"xxxx"為實際的端口數目。)

      具體的結果取決于您所使用的 web 瀏覽器。Ie 瀏覽器將提示您打開或保存一個名為Product的"文件".

      "文件",實際上就是 HTTP 響應的正文。單擊打開。在打開方式對話框中選擇記事本。單擊確定,出現提示時,單擊打開。該文件應包含數組的產品 JSON 表示形式:

       在Mozilla Firefox,將顯示為 XML 格式在瀏覽器中。

      差異的理由是 Ie 和火狐瀏覽器發送標頭接受不同,因此 web API 在響應中發送不同的內容類型。

      可以嘗試請求瀏覽到這些 Uri:
      ?http://localhost:xxxx/api/products/1
      ?http://localhost:xxxx/api/products?category=hardware

      第一次應返回的條目 id 等于 1。第二個應回到"硬件"所有類別的產品平等的列表,(在本例中,單個項目)。

       

      使用Javascript 和 jQuery 調用 Web API

           在前一節中,我們調用直接從瀏覽器請求的 web API。但大部分的 web Api由客戶端應用程序以編程方式使用。所以讓我們寫一個簡單的 javascript 客戶端。在解決方案資源管理器中,展開視圖文件夾中。雙擊以打開一個名為 Index.cshtml 的文件。

      Index.cshtml使用razor 視圖引擎呈現,本例中我們不使用任何的razor 語法,我們使用純html和javascript的方式。

      將文本修改為以下內容:

      復制代碼
      復制代碼
      <!DOCTYPE html> 
      <html lang="en"> 
      <head> 
          <title>ASP.NET Web API</title> 
          <link href="http://www.rzrgm.cn/Content/Site.css" rel="stylesheet" /> 
          <script src="http://www.rzrgm.cn/Scripts/jquery-1.7.1.min.js" type="text/javascript"> 
              // TODO Add script 
          </script> 
      </head> 
      <body id="body" > 
          <div class="main-content"> 
              <div> 
                  <h1>All Products</h1> 
                  <ul id="products"/> 
              </div> 
              <div> 
                  <label for="prodId">ID:</label> 
                  <input type="text" id="prodId" size="5"/> 
                  <input type="button" value="Search" onclick="find();" /> 
                  <p id="product" /> 
              </div> 
          </div> 
      </body> 
      </html>
      復制代碼
      復制代碼

       

      獲取產品的列表
      若要獲取產品的列表,"api/products"發送一個 HTTP GET 請求。您可以使用 jQuery,如下所示:

      復制代碼
      復制代碼
      <script type="text/javascript"> 
          $(document).ready(function () { 
              // Send an AJAX request 
              $.getJSON("api/products/", 
              function (data) { 
                  // On success, 'data' contains a list of products. 
                  $.each(data, function (key, val) { 
       
                      // Format the text to display. 
                      var str = val.Name + ': $' + val.Price; 
       
                      // Add a list item for the product. 
                      $('<li/>', { text: str })     
                      .appendTo($('#products'));    
                  }); 
              }); 
          }); 
      </script>
      復制代碼
      復制代碼

      GetJSON函數發送 AJAX 請求。響應將是 JSON 對象的數組。GetJSON的第二個參數是一個請求成功完成時調用的回調函數。

      獲取產品 Id

      若要獲取產品按 ID,將發送到 HTTP GET 請求"/id",其中id是產品 id。將下面的代碼添加到該腳本塊:

      復制代碼
      復制代碼
      function find() { 
          var id = $('#prodId').val(); 
          $.getJSON("api/products/" + id, 
              function (data) { 
                  var str = data.Name + ': $' + data.Price; 
                  $('#product').text(str); 
              }) 
          .fail( 
              function (jqXHR, textStatus, err) { 
                  $('#product').text('Error: ' + err);  
              }); 
      }            
      復制代碼
      復制代碼

      下面的代碼顯示完整的 Index.cshtml 文件:

      復制代碼
      復制代碼
      <!DOCTYPE html> 
      <html lang="en"> 
      <head> 
          <title>ASP.NET Web API</title> 
          <link href="http://www.rzrgm.cn/Content/Site.css" rel="stylesheet" /> 
          <script src="http://www.rzrgm.cn/Scripts/jquery-1.7.1.min.js"  
              type="text/javascript"></script> 
       
              <script type="text/javascript"> 
                  $(document).ready(function () { 
                      // Send an AJAX request 
                      $.getJSON("api/products/", 
                      function (data) { 
                          // On success, 'data' contains a list of products. 
                          $.each(data, function (key, val) { 
       
                              // Format the text to display. 
                              var str = val.Name + ': $' + val.Price; 
       
                              // Add a list item for the product. 
                              $('<li/>', { text: str }) 
                              .appendTo($('#products')); 
                          }); 
                      }); 
                  }); 
       
                  function find() { 
                      var id = $('#prodId').val(); 
                      $.getJSON("api/products/" + id, 
                          function (data) { 
                              var str = data.Name + ': $' + data.Price; 
                              $('#product').text(str); 
                          }) 
                      .fail( 
                          function (jqXHR, textStatus, err) { 
                              $('#product').text('Error: ' + err); 
                          }); 
                  } 
              </script> 
       
      </head> 
      <body id="body" > 
          <div class="main-content"> 
              <div> 
                  <h1>All Products</h1> 
                  <ul id="products"/> 
              </div> 
              <div> 
                  <label for="prodId">ID:</label> 
                  <input type="text" id="prodId" size="5"/> 
                  <input type="button" value="Search" onclick="find();" /> 
                  <p id="product" /> 
              </div> 
          </div> 
      </body> 
      </html>
      復制代碼
      復制代碼

       

      運行應用程序

       按 f5 鍵以啟動調試應用程序。在 web 頁應如下所示:

      posted @ 2020-11-27 07:14  MaxBruce  閱讀(502)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 亚洲AV永久无码嘿嘿嘿嘿| 久久国产精品福利一区二区三区| 少妇被爽到高潮喷水久久欧美精品| 中文字幕乱码十国产乱码| 91国产自拍一区二区三区| 和艳妇在厨房好爽在线观看| 色偷偷久久一区二区三区| 天堂中文最新版在线官网在线| 日韩精品亚洲aⅴ在线影院| 亚洲精品国模一区二区| 欧美黑人大战白嫩在线| 依依成人精品视频在线观看| 亚洲精品国产字幕久久麻豆| 人人人澡人人肉久久精品| 韩国午夜福利片在线观看| 久热中文字幕在线| 国产极品美女高潮无套| 伊人中文在线最新版天堂| 亚洲人成电影在线天堂色| 亚洲第一国产综合| 日韩区一区二区三区视频| 麻豆一区二区中文字幕| аⅴ天堂中文在线网| 一区二区三区精品自拍视频| 国产情侣激情在线对白| 大肉大捧一进一出好爽视频动漫| 99国产午夜福利在线观看| 67194熟妇在线直接进入| 亚洲精品中文av在线| 日韩美女一区二区三区视频| 午夜大片免费男女爽爽影院| 四虎永久地址www成人| 亚洲第一无码专区天堂| 国产日产精品系列| 肉色丝袜足j视频国产| 高潮迭起av乳颜射后入| 国产成人免费高清激情视频| 国产亚洲精品午夜福利| 四虎影院176| 亚洲一区精品视频在线| 起碰免费公开97在线视频 |