JQuery調(diào)用WebServices的方法和4個(gè)實(shí)例
你甚至為每個(gè)ajax請(qǐng)求添加一個(gè)后端頁(yè)面!
你是不是甚至在想,尼瑪,要是能夠直接調(diào)用C#類文件中的方法就爽了?!(這里FishLi做了一個(gè)框架,有興趣可以去看看)
可是,你大概忘記了,我們是程序員,我們是懶惰的,我們要讓電腦給我們干更多的事情?。ㄟ@里裝裝13),但其實(shí),微軟和JQuery大牛們?cè)鐜臀覀兘鉀Q了這個(gè)小問(wèn)題。
大致的調(diào)用分為以下幾種:
一、無(wú)參數(shù) 有返回值的調(diào)用
前端JS代碼:
$("#btn1").click(function() {
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "CalledByJquery.asmx/HelloWorld",
data: "{}",
dataType: "json",
success: function(json) { alert(json.d); },
error: function(error) {
alert("調(diào)用出錯(cuò)" + error.responseText);
}
});
});
后端WebMethod代碼:
[WebMethod]
public string HelloWorld()
{
return "Hello World";
}
用谷歌調(diào)試的結(jié)果:

二、簡(jiǎn)單參數(shù) 簡(jiǎn)單返回值的調(diào)用
前端JS代碼:
$("#btn2").click(function() {
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "CalledByJquery.asmx/SimpleReturns",
data: "{name:'張三'}",
dataType: "json",
success: function(json) { alert(json.d); },
error: function(error) {
alert("調(diào)用出錯(cuò)" + error.responseText);
}
});
});
后端WebMethod代碼:
[WebMethod]
public string SimpleReturns(string name)
{
return String.Format("您的姓名是{0}", name);
}
用谷歌調(diào)試的結(jié)果:

三、 復(fù)雜參數(shù) 復(fù)雜返回值的調(diào)用
前端JS代碼:
$("#btn3").click(function() {
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "CalledByJquery.asmx/GetStudentList",
data: "{stu:{ID:'6',Name:'ff'}}",
dataType: "json",
success: function(json) { alert(json.d); },
error: function(error) {
alert("調(diào)用出錯(cuò)" + error.responseText);
}
});
});
后端WebMethod:
[WebMethod]
public List<Student> GetStudentList(Student stu)
{
List<Student> studentList = new List<Student>
{
new Student{ID=1,Name="張三"},
new Student{ID=2,Name="李四"}
};
//把從客戶端傳來(lái)的實(shí)體放回到返回值中
studentList.Add(stu);
return studentList;
}
用谷歌調(diào)試的結(jié)果:
四、返回匿名對(duì)象的WebMethod的調(diào)用
前端JS代碼:
$("#btn4").click(function() {
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "CalledByJquery.asmx/ReturnNoNameClass",
data: "{}",
dataType: "json",
success: function(json) { alert(json.d); },
error: function(error) {
alert("調(diào)用出錯(cuò)" + error.responseText);
}
});
});
后端WebMethod代碼:
[WebMethod]
public object ReturnNoNameClass()
{
return new { ID = 1, Name = "張三" };
}
用谷歌調(diào)試的結(jié)果:

哈哈,到這里,你是不是也覺(jué)得so easy,媽媽再也不用擔(dān)心我的學(xué)習(xí)了,其實(shí)很多東西都很簡(jiǎn)單,但沒(méi)人告訴我們,而我們自己在實(shí)際開(kāi)發(fā)中又沒(méi)有這種需求,所以給我們的開(kāi)發(fā)造成了一定的障礙,
所以,交流啊,是多么滴重要!
相關(guān)文章
jQuery實(shí)現(xiàn)頁(yè)面點(diǎn)擊后退彈出提示框的方法
這篇文章主要介紹了jQuery實(shí)現(xiàn)頁(yè)面點(diǎn)擊后退彈出提示框的方法,涉及jQuery事件觸發(fā)機(jī)制相關(guān)操作技巧,需要的朋友可以參考下2016-08-08jQuery+AJAX實(shí)現(xiàn)遮罩層登錄驗(yàn)證界面(附源碼)
這篇文章主要介紹了jQuery+AJAX實(shí)現(xiàn)遮罩層登錄驗(yàn)證界面,并分享了源碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2015-10-10jquery ajaxfileuplod 上傳文件 essyui laoding 效果【防止重復(fù)上傳文件】
點(diǎn)擊一次上傳, 當(dāng)上傳操作結(jié)束后才能操作界面,實(shí)現(xiàn)方式是通過(guò) ajaxfileuplod 上傳文件,需要的朋友參考下吧2018-05-05jQuery焦點(diǎn)圖切換簡(jiǎn)易插件制作過(guò)程全紀(jì)錄
本文主要講訴了本人制作一個(gè)jquery焦點(diǎn)圖切換的簡(jiǎn)易插件的過(guò)程,十分的詳細(xì),希望對(duì)大家能有所幫助2014-08-08jQuery實(shí)現(xiàn)的簡(jiǎn)單分頁(yè)示例
這篇文章主要介紹了jQuery實(shí)現(xiàn)的簡(jiǎn)單分頁(yè),涉及jQuery數(shù)學(xué)運(yùn)算與頁(yè)面元素操作技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2016-06-06淺談jQuery animate easing的具體使用方法(推薦)
下面小編就為大家?guī)?lái)一篇淺談jQuery animate easing的具體使用方法(推薦)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-06-06jquery 簡(jiǎn)短幾句代碼實(shí)現(xiàn)給元素動(dòng)態(tài)添加及獲取提示信息
雖然是很基本的東西,但為什么很基本的方法就可以實(shí)現(xiàn)的東西有些人偏偏還要去追求復(fù)雜高深難懂的呢?這里只是交流而已2011-09-09jQuery解析XML文件同時(shí)動(dòng)態(tài)增加js文件的方法
這篇文章主要介紹了jQuery解析XML文件同時(shí)動(dòng)態(tài)增加js文件的方法,涉及jQuery Ajax調(diào)用及返回函數(shù)中增加js文件的相關(guān)使用技巧,需要的朋友可以參考下2015-06-06