javascript 调用后台方法

多种方式实现JS调用后台方法进行数据交互 项目开发过程中很多地方都需要前端和后台的数据交互,几种典型常用的方法如利用控件的AutopostBack属性、Button提交表单等等。但这些都是有条件的,AutoPostBack具有实时性但会刷新页面,Button提交表单不能实现数据交互的实时性。当然说到前台与后台的数据交互更不能漏掉ajax,ajax实现前台与后台数据的异步交互,并且保证实时的、局部刷新。但有些数据不需要异步交互,例如当交互的数据是下一步执行的条件时,就必须要等到数据前台与后台数据交互完成后才能继续执行程序。所以对于掌握js与后台数据交互的方法还是很有必要的。 方法一 后台方法: 代码如下: <SPAN style=”C 立即下载

来自:http://blog.youkuaiyun.com/hellojimmy520/article/details/7242725

方法一:直接使用<%=%>调用

前台JS:

[javascript] view plain copy print ?
  1. <script type="text/javascript"> 
  2.        var methodStr = "<%=BehindMethod() %>"; 
  3.        alert(methodStr); 
  4.        </script> 
 <script type="text/javascript">
        var methodStr = "<%=BehindMethod() %>";
        alert(methodStr);
        </script>

后头方法:

  1. public static string BehindMethod() 
  2.         { 
  3.             return "这是一个后台的方法"; 
  4.         } 
public static string BehindMethod()
        {
            return "这是一个后台的方法";
        }

方法二:用ajax调用

前台js:

[javascript] view plain copy print ?
  1. <script type="text/javascript" src="js/jquery-1.4.3.min.js"></script> 
  2. <script type="text/javascript">  
  3. var params = '{ext:"p9hp"}';  //参数,注意参数名要注意和后台方法参数名要一致         
  4.         $(function(){ 
  5.            $("#btnOk").click(function(){ 
  6.             $.ajax({ 
  7.                 type:"POST",  //请求方式 
  8.                 url:"AjaxDemo.aspx/GetImg",  //请求路径:页面/方法名字 
  9.                 data: params,     //参数 
  10.                 dataType:"text",   
  11.                 contentType:"application/json; charset=utf-8", 
  12.                 beforeSend:function(XMLHttpRequest){   
  13.                     $("#tips").text("开始调用后头方法获取图片路径,请等待"); 
  14.                     $("#imgFood").attr("src","image/loading.gif"); 
  15.                 }, 
  16.                 success:function(msg){  //成功 
  17.                     $("#imgFood").attr("src",eval("("+msg+")").d);   
  18.                     $("#tips").text("调用方法结束"); 
  19.                 }, 
  20.                 error:function(obj, msg, e){   //异常 
  21.                     alert("OH,NO"); 
  22.                 }                
  23.             }); 
  24.         }); 
  25.         }); 
  26. </script> 
<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:

  1. <body> 
  2.     <form id="form1" runat="server"> 
  3.     <div> 
  4.     <label id="tips"></label> 
  5.        <img id="imgFood" /> 
  6.        <input value="点击我,给你看一张图片" type="button" width="35px" id="btnOk"  /> 
  7.         
  8.     </div> 
  9.     </form> 
  10. </body> 
<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>

后台方法:

  1. [System.Web.Services.WebMethod] 
  2.       public static string GetImg(string ext) 
  3.       { 
  4.           System.Threading.Thread.Sleep(5000);//为了有点等待的效果,延迟5秒 
  5.           StringComparer sc = StringComparer.OrdinalIgnoreCase; 
  6.           string[] extArr = new string[] { "php", "asp", "aspx", "txt", "bmp" }; 
  7.           bool f = extArr.Any(s=>sc.Equals(s,ext));   //判断传入的后缀名是否存在 
  8.            
  9.           if (f) 
  10.           { 
  11.               return "image/54222860.jpg"; 
  12.           } 
  13.           return "image/star1.jpg"; 
  14.       } 
  [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";
        }


 

方法三:AjaxPro (也是ajax)

第一步:下载AjaxPro.dll(或者AjaxPro.2.dll),并且添加引用到项目

第二步:修改配置文件web.config  

  1. <system.web> 
  2. <httpHandlers> 
  3.       <!--注册ajaxPro.2--> 
  4.       <add verb="*" path="*.ashx" type="AjaxPro.AjaxHandlerFactory,AjaxPro.2"/> 
  5.     </httpHandlers> 
  6.   </system.web> 
<system.web>
<httpHandlers>
      <!--注册ajaxPro.2-->
      <add verb="*" path="*.ashx" type="AjaxPro.AjaxHandlerFactory,AjaxPro.2"/>
    </httpHandlers>
  </system.web>

第三步:对AjaxPro在页Page_Load事件中进行运行时注册。如:

  1. protected void Page_Load(object sender, EventArgs e) 
  2. { 
  3.     AjaxPro.Utility.RegisterTypeForAjax(typeof(AjaxDemo));  //注册 
  4. } 
        protected void Page_Load(object sender, EventArgs e)
        {
            AjaxPro.Utility.RegisterTypeForAjax(typeof(AjaxDemo));  //注册
        }


第四步:创建服务器方法,并且用[AjaxPro.AjaxMethod]标注

  1. [AjaxPro.AjaxMethod] 
  2. public string GetImgByAjaxPro() 
  3. { 
  4.     return "image/54222860.jpg"; 
  5. } 
        [AjaxPro.AjaxMethod]
        public string GetImgByAjaxPro()
        {
            return "image/54222860.jpg";
        }

第五步:前台JS的调用:

[javascript] view plain copy print ?
  1. function GetMethodByAjaxPro() { 
  2.            var a = JustTest.AjaxDemo.GetImgByAjaxPro();//JustTest是当前的名字空间,AjaxDemo表示后台类 
  3.            document.getElementById("imgAjaxPro").src = a.value; 
  4.        } 

 

FPGA—DHT11数字温湿度传感器 1. DH1T11温湿度传感器与DS18B20温湿度传感器非常类似,都是严格按照时序要求写代码。建议可以比较学习。2. 显示温度与湿度部分的数据处理,采用 X10 进行在数码管上的移一位显示,配合了数码管小数部分的显示特点又区分了温度与湿度。3. 程序是按照一个接一个状态及顺序跳转的,建议使用状态机。说明:本人使用的是野火家Xilinx Spartan6系列开发板及配套教程,以上内容如有疑惑或错误欢迎评论区指出,或者移步B站观看野火家视频教程。 阅读详情

相关推荐

P4语言实战:如何用Barefoot Tofino实现自定义网络协议(避坑指南)

本文是一份详尽的P4语言实战指南,重点讲解如何利用Barefoot Tofino可编程交换芯片实现自定义网络协议。内容涵盖从P4编程模型解析、自定义协议头定义,到匹配-动作流水线构建、性能优化及生产环境部署的全过程,并特别分享了在资源管理、字节序、调试技巧等方面的宝贵避坑经验,旨在帮助网络开发者和研究人员掌握数据平面编程的核心能力。

echo99的专栏 640

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

方法一:直接使用调用 前台JS: 复制代码代码如下:           var methodStr = "";          alert(methodStr);             后头方法: 复制代码代码如下: public static string BehindMethod()         {  

ZhouJiali123的博客 1214

保姆级教程:不用看古早代码,5分钟搞懂泛微ecology9附件存储与接口调用

本文详细解析了泛微ecology9附件存储与接口调用的核心原理,提供从基础概念到实战操作的完整指南。通过拆解文档化附件设计理念、解析RESTful接口参数,并给出Python代码示例,帮助开发者快速掌握附件上传与业务集成的关键技巧,提升二次开发效率。

weixin_28688385的博客 350

前端js调用后端API获取数据的三种方法(2022.7.25)

js调用后台API进行http请求的三种方法(get-post)

I have a dream, here my dreams come true! 5万+

如何使用AKShare作为OpenBB的数据源

`openbb_akshare`项目是 OpenBB 的数据源扩展。可以用于查询A股和港股数据

FinAnalyzer金融分析工具 3196

01-认识脑电信号及相关信号的预处理过程

脑电信号处理过程脑电实验为什么要预处理预处理方法降采样如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 脑电实验 本博客主要是记录基于脑电信号的情绪识别方法的研究...

脑机交流者的博客 7660

JS调用后台方法大全

javascript函数中执行C#代码中的函数:方法一:1、首先建立一个按钮,在后台将调用或处理的内容写入button_click中;2、在前台写一个js函数,内容为document.getElementById("btn1").click();3、在前台或后台调用js函数,激发click事件,等于访问后台c#函数;方法二:1、函数声明为public...

weixin_30810239的博客 5304

从DC到DCG:手把手教你搭建物理感知综合流程(含DEF文件处理避坑指南)

本文详细介绍了从Design Compiler(DC)过渡到DC Topographical(DCT)和DC Graphical(DCG)的完整操作框架,特别针对DEF文件处理提供避坑方案。通过环境准备、工具升级、DEF文件处理、DCG综合配置等步骤,帮助开发者高效应对28nm以下工艺节点的物理感知综合挑战,显著提升时序收敛效率。

weixin_27966471的博客 381

js实现直接调用后台方法

一种方法是使用ajax调用 $.ajax({ type: "POST",//传输方式 url: "",//action路径 data: "",//传递参数,可有可无 success: function(msg){ //调用成功后执行操作 } }); js可以用 window.location.href="调用的路径";如果传参就加上问号 window.location

IT程序员的成长记 1万+

手把手教你搞定Pattern Recognition期刊的LaTeX投稿(附完整模板下载与避坑指南)

本文详细指导如何在Pattern Recognition期刊上使用LaTeX进行投稿,包括模板下载、环境配置、核心排版规范及投稿材料准备。特别强调期刊对格式的严格要求,如数学符号、图像引用等细节,并提供实用技巧和避坑指南,帮助作者高效完成投稿流程。

weixin_30876945的博客 395

在树莓派4B上基于NCNN框架部署YOLOv8的实战教程

摘要:本文详细介绍了在树莓派4B上基于NCNN框架部署YOLOv8目标检测模型的完整流程。从PyTorch模型转换为NCNN格式,到树莓派环境配置(OpenCV和NCNN编译),再到C++代码实现与优化,涵盖模型加载、推理和绘图等核心功能。测试结果显示,树莓派4B上可实现约2 FPS的检测速度,Windows平台达6~7 FPS。文章还提供了量化模型、多线程优化等实用建议,并附常见问题解答,为边缘设备部署轻量化目标检测提供了可行方案。(149字)

m0_64661770的博客 596

js巧妙的调用后台方法

$(function () {     //链接我们 ajax提交     //url   链接     //type  方式      //data    内容     //var data = {     //    id: id,     //    name: categorie,     //    up: isbool,     //    show: isb

名...殇的博客 9248

AI 智能体(Agent)应用开发工程师 · 进阶面试 (五)

在有多位 Agent 共同参与决策时(如评审委员会、代码审查小组),它们可能提出截然相反的建议。共识机制就是用来在这种冲突中得出唯一行动方案的规则。常用机制:多数投票:每个 Agent 一票,根据投票结果决定。实现简单,但忽略了专业度差异。加权投票:根据 Agent 的角色重要性或历史表现赋予不同权重,例如首席架构师 Agent 的票权重是普通开发者 Agent 的 2 倍。管理者仲裁:由一个权限更高的 Manager Agent 听取各方理由后做出最终裁决。这类似于层级制组织决策。辩论收敛。

篮球界最会写bug的人;程序猿中打球最菜的人。 393

js调用java后台方法_JavaScript调用后台的三种方法实例

方法一:直接使用调用前台JS:var methodStr = "";alert(methodStr);后头方法:public static string BehindMethod(){return "这是一个后台的方法";}方法二:用ajax调用前台js:var params = '{ext:"p9hp"}'; //参数,注意参数名要注意和后台方法参数名要一致$(function(){$("#b...

weixin_30147611的博客 2415

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

java解析javascript方法,scriptengine初体验,实现后台调用js方法验证。

第一次用java解析js文件,实现后台调用前台方法实现验证 1.js文件(放在src下) //此处定义一个空的alert方法,否则解析下面checkRate(name)方法会报错没有定义alert(),只有这个用途; function alert() { } //根据名字取标签的值 function getVal(name) { return document.get

mr_fatalism的博客 5653

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

C#后台调用前台JS函数方法

总结了公司其他人的一些C#后台调用前台的方法; 方法一: 假设前台页面的JS脚本标签中有如下函数: function A() { alert("hello word!"); } 那么在这个页面的后台代码可以这样去实现在C#后台调用前台这个A()函数; 首先在前台拖放一个ItlResult控件id=itlResult; 然后在c# 后台代码中这样调用: itlResult.Text =

chenqiangdage的专栏 6973

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

js调用后台方法与后台调用js方法

js调用后台方法与后台调用js方法   2012-06-26 09:01:07|  分类: 页面与JavaScript|举报|字号 订阅 JS调用后台方法大全 javascript函数中执行C#代码中的函数: 方法一:1、首先建立一个按钮,在后台将调用或处理的内容写入button_click中; 2、在前台写一个js函数,内容为document.g

周不董 1272

js调用java后台方法_js调用后台方法

js调用后台方法[@more@]一.AjaxPro的使用1.在项目中添加引用,浏览找到AjaxPro.2.dll文件2.在Web.config中的system.web里面写入以下代码configuration>httpHandlers>system.web>/configuration>3.在加载事件中,加入AjaxPro.Utility.RegisterTypeForAj...

weixin_35286137的博客 324

js函数内直接调用后台方法

<br />第一种方法:js函数内直接调用后台方法<br />如图所示 都是html控件 输入姓名 点击按钮获取您输入的信息!<br /><br /><br />代码如下:<br /><div><br />            Your Name is:<input id="name" type="text" /><br />            <input id="clickBt" type="button" value="GET NAME" onclick="fun()" /><br />    

lyjaiyu的专栏 2423

java 后台调用前台js_js调用后台,后台调用前台等方法总结

1. javaScript函数中执行C#代码中的函数:方法一:1、首先建立一个按钮,在后台将调用或处理的内容写入button_click中;2、在前台写一个js函数,内容为document.getElementByIdx("btn1").click();3、在前台或后台调用js函数,激发click事件,等于访问后台c#函数;方法二:1、函数声明为public后台代码(把public改成protec...

weixin_35231615的博客 1958

Javascript (js)调用后台代码方法汇总

javascript函数中执行C#代码中的函数:        方法一:1、首先建立一个按钮,在后台将调用或处理的内容写入button_click中;            2、在前台写一个js函数,内容为document.getElementById("btn1").click();            3、在前台或后台调用js函数,激发click事件,等于访问后台c#函数;         

天地不仁,以万物为刍狗! 1091

JavaScript调用后台的三种方法

JavaScript调用后台的三种方法

qq_27480007的博客 6566

js调用后台方法

js调用后台方法[@more@]一.AjaxPro的使用1.在项目中添加引用,浏览找到AjaxPro.2.dll文件2.在Web.config中的system.web里面写入以下代码configuration><sy...

ciweiti5307的博客 184

asp.net备忘录之JS调用后台方法

asp.net 备忘录之JS调用后台方法

tianen2010的博客 1840

后台调用js的方法

今天写程序,忽然要用到后台调用js的问题,网上找了找,问了问高手们,终于解决了问题,那么现在我就把方法总结整理一下,希望对大家有帮助。     1.Response.Write方法       Response.Write("alert("你好啊!");");//这样只能调用函数的内部方法,无法调用自定义的函数       Response.Write("function funtest()

zhiaijingming的专栏 534
上一篇: 生成一组指定范围内随机数(取50个数字,100到200的随机数字) LINQ方法
下一篇: 在Repeater控件中使用if语句(参考)
ArvinStudy
博客等级 码龄15年 83粉丝 193原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值