日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

ajax的访问 WebService 的方法

發(fā)布時(shí)間:2025/3/8 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ajax的访问 WebService 的方法 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

轉(zhuǎn)自原文 ajax的訪問 WebService 的方法

如果想用ajax進(jìn)行訪問 首先在web.config里進(jìn)行設(shè)置

添加在?

<webServices>
<protocols>
<add name= "HttpPost" />
<add name= "HttpGet" />
</protocols>
</webServices>

<system.web>節(jié)點(diǎn)之下

這樣就是可以通過url進(jìn)行訪問了 不然就會(huì)報(bào)錯(cuò)

?

然后直接亮代碼 ?代碼也是網(wǎng)上找到的 ?如有雷同,請聯(lián)系本人

?

[WebService(Namespace = "http://tempuri.org/")][WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)][System.ComponentModel.ToolboxItem(false)]// 若要允許使用 ASP.NET AJAX 從腳本中調(diào)用此 Web 服務(wù),請取消對下行的注釋。 [System.Web.Script.Services.ScriptService]public class WebService1 : System.Web.Services.WebService{/// <summary>/// 無參數(shù)/// </summary>/// <returns></returns> [WebMethod]public string HelloWorld(){return "Hello World ";}/// <summary>/// 帶參數(shù)/// </summary>/// <param name="value1"></param>/// <param name="value2"></param>/// <param name="value3"></param>/// <param name="value4"></param>/// <returns></returns> [WebMethod]public string GetWish(string value1, string value2, string value3, int value4){return string.Format("祝您在{3}年里 {0}、{1}、{2}", value1, value2, value3, value4);}/// <summary>/// 返回集合/// </summary>/// <param name="i"></param>/// <returns></returns> [WebMethod]public List<int> GetArray(int i){List<int> list = new List<int>();while (i >= 0){list.Add(i--);}return list;}/// <summary>/// 返回一個(gè)復(fù)合類型/// </summary>/// <returns></returns> [WebMethod]public Class1 GetClass(){return new Class1 { ID = "1", Value = "牛年大吉" };}/// <summary>/// 返回XML/// </summary>/// <returns></returns> [WebMethod]public DataSet GetDataSet(){DataSet ds = new DataSet();DataTable dt = new DataTable();dt.Columns.Add("ID", Type.GetType("System.String"));dt.Columns.Add("Value", Type.GetType("System.String"));DataRow dr = dt.NewRow();dr["ID"] = "1";dr["Value"] = "新年快樂";dt.Rows.Add(dr);dr = dt.NewRow();dr["ID"] = "2";dr["Value"] = "萬事如意";dt.Rows.Add(dr);ds.Tables.Add(dt);return ds;}}//自定義的類,只有兩個(gè)屬性 public class Class1{public string ID { get; set; }public string Value { get; set; }}

然后是ajax的代碼
<script type="text/javascript">//無參數(shù)調(diào)用$(document).ready(function() {$('#btn1').click(function() {$.ajax({type: "POST", //訪問WebService使用Post方式請求contentType: "application/json", //WebService 會(huì)返回Json類型url: "WebService1.asmx/HelloWorld", //調(diào)用WebService的地址和方法名稱組合 ---- WsURL/方法名data: "{}", //這里是要傳遞的參數(shù),格式為 data: "{paraName:paraValue}",下面將會(huì)看到 dataType: 'json',success: function(result) { //回調(diào)函數(shù),result,返回值$('#dictionary').append(result.d);}});});});//有參數(shù)調(diào)用$(document).ready(function() {$("#btn2").click(function() {$.ajax({type: "POST",contentType: "application/json",url: "WebService1.asmx/GetWish",data: "{value1:'心想事成',value2:'萬事如意',value3:'牛牛牛',value4:2009}",dataType: 'json',success: function(result) {$('#dictionary').append(result.d);}});});});//返回集合(引用自網(wǎng)絡(luò),很說明問題)$(document).ready(function() {$("#btn3").click(function() {$.ajax({type: "POST",contentType: "application/json",url: "WebService1.asmx/GetArray",data: "{i:10}",dataType: 'json',success: function(result) {$(result.d).each(function() {//alert(this);$('#dictionary').append(this.toString() + " ");//alert(result.d.join(" | ")); });}});});});//返回復(fù)合類型$(document).ready(function() {$('#btn4').click(function() {$.ajax({type: "POST",contentType: "application/json",url: "WebService1.asmx/GetClass",data: "{}",dataType: 'json',success: function(result) {$(result.d).each(function() {//alert(this);$('#dictionary').append(this['ID'] + " " + this['Value']);//alert(result.d.join(" | ")); });}});});});//返回DataSet(XML)$(document).ready(function() {$('#btn5').click(function() {$.ajax({type: "POST",url: "WebService1.asmx/GetDataSet",data: "{}",dataType: 'xml', //返回的類型為XML ,和前面的Json,不一樣了success: function(result) {//演示一下捕獲try { $(result).find("Table1").each(function() {$('#dictionary').append($(this).find("ID").text() + " " + $(this).find("Value").text());});}catch (e) {alert(e);return;}},error: function(result, status) { //如果沒有上面的捕獲出錯(cuò)會(huì)執(zhí)行這里的回調(diào)函數(shù)if (status == 'error') {alert(status);}}});});});//Ajax 為用戶提供反饋,利用ajaxStart和ajaxStop 方法,演示ajax跟蹤相關(guān)事件的回調(diào),他們兩個(gè)方法可以添加給jQuery對象在Ajax前后回調(diào)//但對與Ajax的監(jiān)控,本身是全局性的$(document).ready(function() {$('#loading').ajaxStart(function() {$(this).show();}).ajaxStop(function() {$(this).hide();});});// 鼠標(biāo)移入移出效果,多個(gè)元素的時(shí)候,可以使用“,”隔開$(document).ready(function() {$('div.button').hover(function() {$(this).addClass('hover');}, function() {$(this).removeClass('hover');});});</script>

?

?

?

然后就是這5個(gè)ajax得到的響應(yīng)

?

是不是很奇怪為什么json里都有個(gè)d ?我也很奇怪估計(jì)是服務(wù)端把其他格式解析成json的時(shí)候自己添加的

?

還有一個(gè)問題 ajax的代碼??contentType: "application/json", //WebService 會(huì)返回Json類型

?

?dataType: 'json' 這2者的區(qū)別是啥 ?如果知道請告訴我下。

?

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

總結(jié)

以上是生活随笔為你收集整理的ajax的访问 WebService 的方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。