日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

利用JQuery jsonp实现Ajax跨域请求 .Net 的*.handler 和 WebService,返回json数据

發布時間:2023/12/15 asp.net 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 利用JQuery jsonp实现Ajax跨域请求 .Net 的*.handler 和 WebService,返回json数据 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原文:? http://blog.csdn.net/polarissky/article/details/6429554

1.新建數據源項目CrossDomain

??? 主要文件如下:

?? 1.Handler.ashx? 作為jquery跨域請求*.handler的響應,代碼如下:

??? using System; using System.Collections.Generic; using System.Web; using System.Web.Services; namespace CrossDomain { /// <summary> /// $codebehindclassname$ 的摘要說明 /// </summary> [WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] public class Handler : IHttpHandler { public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; string callbackMethodName = context.Request.Params["jsoncallback"]; string currentCity = context.Request["city"]; currentCity = string.IsNullOrEmpty(currentCity) ? "北京" : "沈陽"; string result = callbackMethodName + "({/"city/":" + "/"" + currentCity + "/", /"dateTime/":" + "/"" + DateTime.Now + "/"});"; context.Response.Write(result); } public bool IsReusable { get { return false; } } } }

? 2.WebService.asmx? 作為jquery跨域請求WebService的響應,代碼如下:

?

using System; using System.Collections.Generic; using System.Web; using System.Web.Services; namespace CrossDomain { /// <summary> /// WebService 的摘要說明 /// </summary> [WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [System.ComponentModel.ToolboxItem(false)] public class WebService : System.Web.Services.WebService { [WebMethod] public void HelloWorld(string city) { string callbackMethodName = HttpContext.Current.Request.Params["jsoncallback"] ?? ""; city = string.IsNullOrEmpty(city) ? "北京" : "沈陽"; string result = callbackMethodName + "({/"city/":" + "/"" + city + "/", /"dateTime/":" + "/"" + DateTime.Now + "/"});"; HttpContext.Current.Response.Write(result); HttpContext.Current.Response.End(); } [WebMethod] public void ws(string name, string time) { HttpRequest Request = HttpContext.Current.Request; string callback = Request["callback"]; HttpResponse Response = HttpContext.Current.Response; Response.Write(callback + "({msg:'this is" + name + "jsonp'})"); Response.End(); } } }


? 3.Web.config 需要修改web.config文件,注意webServices節(這是請求webservice獲取數據的關鍵)具體如下:

? <?xml version="1.0" encoding="utf-8"?> <configuration> <appSettings/> <connectionStrings/> <system.web> <!-- 設置 compilation debug="true" 可將調試符號插入 已編譯的頁面中。但由于這會 影響性能,因此只在開發過程中將此值 設置為 true。 --> <compilation debug="false"> </compilation> <!-- 通過 <authentication> 節可以配置 ASP.NET 用來 識別進入用戶的 安全身份驗證模式。 --> <authentication mode="Windows" /> <!-- 如果在執行請求的過程中出現未處理的錯誤, 則通過 <customErrors> 節可以配置相應的處理步驟。具體說來, 開發人員通過該節可以配置 要顯示的 html 錯誤頁 以代替錯誤堆棧跟蹤。 <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm"> <error statusCode="403" redirect="NoAccess.htm" /> <error statusCode="404" redirect="FileNotFound.htm" /> </customErrors> --> <webServices> <protocols> <add name="HttpGet"/> <add name="HttpPost"/> </protocols> </webServices> </system.web> </configuration>

?

2.新建跨域請求測試項目CrossDomainRequestTest

?? 主要文件如下:

?1.CrossDomainRequestHandler.htm 跨域請求*.handler獲取josn格式數據測試頁,代碼如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head> <title></title> <mce:script type="text/javascript" language="javascript" src="js/jquery-1.4.4.js" mce_src="js/jquery-1.4.4.js"></mce:script> <mce:script type="text/javascript" language="javascript" src="js/jquery-1.4.4.js" mce_src="js/jquery-1.4.4.js"></mce:script> <mce:script type="text/javascript" language="javascript"><!-- $(document).ready(function() { // var clientUrl = "http://localhost:4508/Handler.ashx?jsoncallback=?"; var clientUrl = "http://192.168.120.179:8086/Handler.ashx?jsoncallback=?" var currentCity = "哈爾濱"; $.ajax({ url: clientUrl, dataType: "jsonp", data : {city : currentCity}, success : OnSuccess, error : OnError }); }); function OnSuccess(json) { $("#data").html("城市:" + json.city + ",時間:" + json.dateTime); } function OnError(XMLHttpRequest, textStatus, errorThrown) { targetDiv = $("#data"); if (errorThrown || textStatus == "error" || textStatus == "parsererror" || textStatus == "notmodified") { targetDiv.replaceWith("請求數據時發生錯誤!"); return; } if (textStatus == "timeout") { targetDiv.replaceWith("請求數據超時!"); return; } } // --></mce:script> </head> <body> <div id="data"></div> </body> </html>



? 2.CrossDomainRequestWebService.htm 跨域請求WebService *.asmx獲取josn格式數據測試頁,代碼如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head> <title></title> <mce:script type="text/javascript" language="javascript" src="js/jquery-1.4.4.js" mce_src="js/jquery-1.4.4.js"></mce:script> <mce:script type="text/javascript" language="javascript"><!-- $(document).ready(function() { // var clientUrl = "http://localhost:4508/WebService.asmx/HelloWorld?jsoncallback=?"; var clientUrl = "http://192.168.120.179:8086/WebService.asmx/HelloWorld?jsoncallback=?"; var currentCity = "哈爾濱"; $.getJSON( clientUrl, { city: currentCity }, function(json) { $("#data").html("城市:" + json.city + ",時間:" + json.dateTime); } ); }); function OnSuccess(responseData) { $("#data").html(responseData.city); } function OnError(XMLHttpRequest, textStatus, errorThrown) { targetDiv = $("#data"); if (errorThrown || textStatus == "error" || textStatus == "parsererror" || textStatus == "notmodified") { targetDiv.replaceWith("請求數據時發生錯誤!"); return; } if (textStatus == "timeout") { targetDiv.replaceWith("請求數據超時!"); return; } } // --></mce:script> </head> <body> <div id="data"></div> </body> </html>

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的利用JQuery jsonp实现Ajax跨域请求 .Net 的*.handler 和 WebService,返回json数据的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 91伊人网 | 91九色国产在线 | 毛片成人网 | 嫩草影院在线免费观看 | 国产伦精品视频一区二区三区 | 好吊色视频988gao在线观看 | 黄页网址大全免费观看 | 五月婷在线 | 成人精品视频一区二区三区尤物 | av毛片在线播放 | 成人av网站免费 | 亚洲视频区 | 一级二级三级视频 | 黄色大全在线观看 | 97在线视频观看 | 国产三级在线观看 | 国产丝袜美女 | 香蕉视频18 | 特级毛片爽www免费版 | 亚洲大尺度在线观看 | 神马香蕉久久 | 国产精品国产一区 | 蜜桃av导航 | 色播亚洲 | 白丝女仆被免费网站 | 美女调教视频 | 四虎影视精品 | 精品国产大片大片大片 | 午夜神马影院 | 日本www网站 | 国产精品免费一区二区三区 | 日韩中文字幕av | 久久99精品久久久久久 | 超碰97免费在线 | 毛片高清免费 | 好吊妞精品 | 亚洲AV无码一区二区三区少妇 | 亚洲人成无码www久久久 | 一本色道久久综合精品婷婷 | 黑人借宿巨大中文字幕 | 国产视频欧美 | 男阳茎进女阳道视频大全 | 国产精品伦子伦 | 欧美日韩一区二区三区四区 | youjizz日本人 | 国产午夜视频 | 免费毛片大全 | 波多野结衣免费视频观看 | 国产精品无码中文 | 成人黄色在线观看视频 | 国产一级影院 | 国产一在线观看 | 久久依人 | 国产成人免费观看视频 | 成年人黄色免费视频 | 欧美美女视频 | 日日草夜夜操 | 久久久久久电影 | 好吊妞视频在线 | 欧美视频在线一区 | 久草天堂 | 视频精品一区二区 | 久久激情网站 | 日韩精品视频一区二区三区 | 我们的2018在线观看免费高清 | 天天摸夜夜添 | 婷婷色在线视频 | 久久91精品 | www在线免费观看 | 国产精品久久久久久精 | 亚洲欧美精品suv | 日本特级黄色片 | 插插插网站 | 国产成人a人亚洲精品无码 在线aa | chinese hd av | 国产精品mm | 亚洲国产精品福利 | 久久久久99精品成人片我成大片 | 国产黄色一区二区三区 | 国产激情精品一区二区三区 | 91久久人澡人人添人人爽欧美 | 中文字幕23 | 91精品人妻一区二区三区 | 91视频黄色| 一个人看的视频www 色就是色网站 | 国产精品第72页 | 日韩av专区片 | 成年人免费观看网站 | 日韩在线视频网址 | 日韩亚洲精品在线 | 色久阁 | 精品一区二区免费视频 | 黄色一级一片免费播放 | 国产精品人人人人 | 亚洲无人禁区 | 久久精品亚洲一区二区 | 成人小视频免费看 | 黄色一级片在线 | 国产精品普通话 |