做自己的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);
支持复杂数据类型。
结束。
题外话:我是一个非常乐于动手实践的人,很多时候很多想法,自己觉得很好,就一定会付诸行动,努力将其实现。