ASP.NET中使用一般处理程序ashx作为后台处理实现响应get和post请求
場(chǎng)景
ASP.NET中新建Web網(wǎng)站并部署到IIS上(詳細(xì)圖文教程):
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/107199747
在上面博客中已經(jīng)將網(wǎng)站部署到了IIS上。
怎樣對(duì)前端的請(qǐng)求進(jìn)行響應(yīng)普通文本和JSON數(shù)據(jù)以及怎樣獲取get和post請(qǐng)求參數(shù)。
注:
博客:
https://blog.csdn.net/badao_liumang_qizhi
關(guān)注公眾號(hào)
霸道的程序猿
獲取編程相關(guān)電子書、教程推送與免費(fèi)下載。
實(shí)現(xiàn)
?一般處理程序ashx
如果在一個(gè)html頁面向服務(wù)器端請(qǐng)求數(shù)據(jù),可用ashx作為后臺(tái)頁面處理數(shù)據(jù)。ashx適合用作數(shù)據(jù)后臺(tái)處理,相當(dāng)于WebForm中的aspx.cs文件或aspx.vb文件。
首先在項(xiàng)目下新建Handler目錄并在此目錄下添加新建項(xiàng)-一般處理程序。這里叫Badao.ashx
?
新建成功后
這樣能返回最簡(jiǎn)單的文本數(shù)據(jù),修改其代碼為
?
context.Response.ContentType = "text/plain"; context.Response.Write("公眾號(hào):霸道的程序猿");然后運(yùn)行項(xiàng)目,訪問
http://localhost:3526/Handler/BaDao.ashx
?
怎樣獲取get請(qǐng)求的參數(shù)
string param = context.Request.QueryString["gongzhonghao"];那么就可以通過以下方式傳遞參數(shù)
http://localhost:3526/Handler/BaDao.ashx?gongzhonghao = 霸道的程序猿
怎樣返回Json數(shù)據(jù)
context.Response.ContentType = "application/json"; string result = "[{\"Result\":\""+msg+"\"}]"; context.Response.Write(result);設(shè)置響應(yīng)類型并構(gòu)建JSON數(shù)據(jù)然后返回
?
怎樣接受POST請(qǐng)求的數(shù)據(jù)
為了構(gòu)建前端POST請(qǐng)求,在項(xiàng)目下新建Views目錄,在目錄下新建User.html
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>My Test ashx</title><script type="text/javascript" src="../js/jquery-1.6.4.min.js"></script><script type="text/javascript">$(function () {$("#btn_Test").click(function () {debugger$.ajax({type: "post",url: "../Handler/BaDao.ashx",datatype: "text",data: { "gongzhonghao": "霸道的程序猿" },success: function (data) {debugger$("#label1").html(data[0].Result);}});});});</script> </head> <body><button type="button" id="btn_Test">Test</button><label id="label1"></label> </body> </html>在頁面中引入了Jquery所以還需要添加并引入Jquery
然后修改后臺(tái)ashx為
context.Response.ContentType = "application/json"; //獲取post請(qǐng)求數(shù)據(jù) string param = context.Request.Form["gongzhonghao"]; string msg = "公眾號(hào):霸道的程序猿"; msg = param; //構(gòu)建json數(shù)據(jù) string result = "[{\"Result\":\""+msg+"\"}]"; context.Response.Write(result);然后運(yùn)行項(xiàng)目,點(diǎn)擊按鈕
?
示例代碼下載
https://download.csdn.net/download/BADAO_LIUMANG_QIZHI/12589864
總結(jié)
以上是生活随笔為你收集整理的ASP.NET中使用一般处理程序ashx作为后台处理实现响应get和post请求的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ASP.NET中实现复用代码自定义用户控
- 下一篇: ASP.NET中使用Cache类来缓存页