Javascript SoapClient 一個小小的封裝 for 滬江網暑期實習申請

來源:互聯網
上載者:User

  做自己的js組件倒是沒怎麼想過,只是有時候為了方便,對一些第三方的庫進行了封裝,方便使用。比如:...

  ASP.Net利用WebService做Ajax互動,XML格式資料轉送,採用Javascript SoapClient類庫[http://www.guru4.net/articoli/javascript-soap-client/]。

  SoapClient能用SOAP協議進行通訊,並對返回的XML結果集進行Object封裝產生JS對象(不需要自己解析xml了)

  WebService

WS

public class Calc : System.Web.Services.WebService
{

[WebMethod]
public int Add(int l, int r)
{
return l + r;
}
[WebMethod]
public int Sub(int l, int r)
{
return l - r;
}
}

 

標準的JS調用代碼:

  

SOAPClient

       var p = new SOAPClientParameters();
p.add("l", 1);
p.add("r", 2);
SOAPClient.invoke("./Calc.asmx", "Add", p, true, callb);

var p1 = new SOAPClientParameters();
p1.add("l", 2);
p1.add("r", 1);
SOAPClient.invoke("./Calc.asmx", "Sub", p1, true, callb);

 

  對Paramaters進行JSON封裝:

  

SoapInvoke

var SoapInvoke = function (url, method, p, async, callback) {
var sp = new SOAPClientParameters();
for (var key in p) {
sp.add(key, p[key]);
}
SOAPClient.invoke(url, method, sp, async, callback);
};

 

  比較方便的調用過程:

   

       SoapInvoke("./Calc.asmx", "Add", { l: 1, r: 2 }, true, callb);
SoapInvoke("./Calc.asmx", "Sub", { l: 2, r: 1 }, true, callb);

  

  支援複雜資料類型。

 

  結束。 

  題外話:我是一個非常樂於動手實踐的人,很多時候很多想法,自己覺得很好,就一定會付諸行動,努力將其實現。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.