簡體   English   中英

在.net頁面中從javascript消費Web服務

[英]Consuming Web Service from javascript in .net page

怎么做? 我對此完全陌生,希望開始學習。 我將擁有一個樹形結構,最有可能是一個html / Javascript樹,需要通過Web服務將其保存到數據庫中。

使用ASP .NET Web服務+ asp.net 3.5的最有效方法是什么?

更新:感謝您提供所有答案,在這種情況下,我仍然缺少一些內容,即:1)當將節點添加到樹中時,用戶將彈出一個窗口,將在其中輸入一些信息並保存在數據庫中,以及從數據庫返回的整數代碼。 返回時,我需要執行一些邏輯,然后將一個(或多個)節點插入所選的節點中。 依此類推。 因此,據我了解,這種邏輯(代碼的實質)必須在客戶端的Java代碼中執行。 2)在彈出窗口關閉后,什么會觸發樹“刷新”? 3).net的圖片在哪里? 據我所知,這里根本沒有執行服務器端編碼(除了Web服務)。 如今,這是否是總的方向,而不再使用.net控件進行服務器端編碼,而是使用選擇的Javascript庫+ Web服務?

感謝大家。

您可以使用ASP.net Ajax調用來實現。 在服務器端,您創建一個具有ScriptService屬性的Web服務(WCF或asmx):

namespace MyCompany.Project.Services
{
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.Web.Script.Services.ScriptService]
    public class MyWebServiceClass : System.Web.Services.WebService
    {

        [WebMethod]
        public string GreetFromServer(string name)
        {
            return "Hello, " + name;
        }
    }
}

在頁面上,添加引用Web服務的ScriptManager。

<asp:ScriptManager id="scriptManager" runat="server">
   <Services>
      <asp:ServiceReference Path="~/Services/MyWebServiceClass"/>
   </Services>
</asp:ScriptManager>

然后在客戶端(JavaScript):

function invokeService(){
   MyCompany.Project.Services.MyWebServiceClass.GreetFromServer("Juri", onSuccess, onFailure);
}

function onSuccess(result){
  //check if result different null etc..It will be in JSON format, so deserialize
  //use result
}

function onFailure(){
   //handle errors
}

這僅是關於如何創建服務以及如何從JavaScript中訪問服務的提示。 我現在大部分時間都把它寫出來了,沒有檢查。
提示:使用Firebug 驗證在JavaScript客戶端代碼和服務器端Web服務之間來回發送的數據確實非常有用。

剛剛寫了一個博客文章,其中包含一個可下載的示例,該示例描述了使用asmx以及WCF Web服務進行客戶端-服務器的通信。

Encosia.com擁有您所需的一切:

使用jQuery消耗ASP.NET JSON Web服務

我建議您在html / Javascript樹的客戶端使用jquery。 這是一個教程,可幫助您開始在asp.net上使用jquery

http://dotnetslackers.com/articles/ajax/Using-jQuery-with-ASP-NET.aspx

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM