源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

JavaScript调用后台的三种方法实例

  • 时间:2020-04-15 09:16 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:JavaScript调用后台的三种方法实例
[b]方法一:直接使用<%=%>调用[/b] 前台JS:
[u]复制代码[/u] 代码如下:
<script type="text/javascript">         var methodStr = "<%=BehindMethod() %>";         alert(methodStr);         </script> 
后头方法:
[u]复制代码[/u] 代码如下:
public static string BehindMethod()         {             return "这是一个后台的方法";         }
[b]方法二:用ajax调用[/b] 前台js:
[u]复制代码[/u] 代码如下:
<script type="text/javascript" src="js/jquery-1.4.3.min.js"></script>  <script type="text/javascript"> var params = '{ext:"p9hp"}';  //参数,注意参数名要注意和后台方法参数名要一致                $(function(){            $("#btnOk").click(function(){             $.ajax({                 type:"POST",  //请求方式                 url:"AjaxDemo.aspx/GetImg",  //请求路径:页面/方法名字                 data: params,     //参数                 dataType:"text",                  contentType:"application/json; charset=utf-8",                 beforeSend:function(XMLHttpRequest){                      $("#tips").text("开始调用后头方法获取图片路径,请等待");                     $("#imgFood").attr("src","image/loading.gif");                 },                 success:function(msg){  //成功                     $("#imgFood").attr("src",eval("("+msg+")").d);                      $("#tips").text("调用方法结束");                 },                 error:function(obj, msg, e){   //异常                     alert("OH,NO");                 }                           });         });         }); </script>
页面html:
[u]复制代码[/u] 代码如下:
<body>     <form id="form1" runat="server">     <div>     <label id="tips"></label>        <img id="imgFood" />        <input value="点击我,给你看一张图片" type="button" width="35px" id="btnOk"  />     </div>     </form> </body>
后台方法:
[u]复制代码[/u] 代码如下:
[System.Web.Services.WebMethod]         public static string GetImg(string ext)         {             System.Threading.Thread.Sleep(5000);//为了有点等待的效果,延迟5秒             StringComparer sc = StringComparer.OrdinalIgnoreCase;             string[] extArr = new string[] { "php", "asp", "aspx", "txt", "bmp" };             bool f = extArr.Any(s=>sc.Equals(s,ext));   //判断传入的后缀名是否存在             if (f)             {                 return "image/54222860.jpg";             }             return "image/star1.jpg";         }
[b]方法三:AjaxPro (也是ajax)[/b] 第一步:下载AjaxPro.dll(或者AjaxPro.2.dll),并且添加引用到项目 第二步:修改配置文件web.config 
[u]复制代码[/u] 代码如下:
<system.web> <httpHandlers>       <!--注册ajaxPro.2-->       <add verb="*" path="*.ashx" type="AjaxPro.AjaxHandlerFactory,AjaxPro.2"/>     </httpHandlers>   </system.web>
第三步:对AjaxPro在页Page_Load事件中进行运行时注册。如:
[u]复制代码[/u] 代码如下:
        protected void Page_Load(object sender, EventArgs e)         {             AjaxPro.Utility.RegisterTypeForAjax(typeof(AjaxDemo));  //注册         }
第四步:创建服务器方法,并且用[AjaxPro.AjaxMethod]标注
[u]复制代码[/u] 代码如下:
        [AjaxPro.AjaxMethod]         public string GetImgByAjaxPro()         {             return "image/54222860.jpg";         }
第五步:前台JS的调用:
[u]复制代码[/u] 代码如下:
 function GetMethodByAjaxPro() {             var a = JustTest.AjaxDemo.GetImgByAjaxPro();//JustTest是当前的名字空间,AjaxDemo表示后台类             document.getElementById("imgAjaxPro").src = a.value;         }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部