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.        } 

 

Score Matching(得分匹配) Score Matching(得分匹配)是一种统计学习方法,用于估计概率密度函数的梯度(即得分函数),而无需知道密度函数的归一化常数。这种方法由Hyvärinen在2005年提出,主要用于无监督学习,特别是在密度估计和生成模型中。 阅读详情

相关推荐

C#利用S7netplus实现西门子S7_200_SMART PLC高效点位监控与操作

本文详细介绍了如何使用C#结合S7netplus开源库高效监控与操作西门子S7-200 SMART PLC的点位。内容涵盖从开发环境搭建、建立通信连接,到核心的点位读写、批量数据处理及字节与位数组转换等关键技术,并提供了构建稳定监控程序的架构与避坑指南,帮助开发者快速实现上位机与PLC的稳定数据交互。

rum55的博客 315

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

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

ZhouJiali123的博客 1214

搭建Dzzoffice 教程

通过以上步骤,您已经成功配置了WEB环境,安装了DzzOffice,并完成了系统设置和应用安装。1.安装包的设置默认是系统盘之外的第二个盘,没有其他盘符的时候则安装在C盘,当主机盘符只有C盘可用的时候,安装时不要使用U盘,否则可能误装到U盘当中。4.如果之前已经安装,再次安装时请确保上次安装已经卸载或者所有文件可读,否则请备份文件,卸载之后再安装。在其他安装环境中,我没有相关的使用经验。3. 保证安装路径是纯净的,安装路径下不能有已安装的V8版本,若重新安装,请选择其它路径。

小胡的博客 4950

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

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

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

【社区分享】从零开始学习 TinyML,建立 TensorFlow 深度学习模型(技术优化篇)

本文来自社区投稿与征集,作者王玉成,ML&IoT Google Developers Expert,温州大学智能锁具研究院总工程师。 了解更多:https://blog.youkuaiyun.com/wfing 经过前面几章的讨论,我们了解了TinyML 的概念,完成了一个最简单的TinyML 的模型并且运行在微控制器上,得出最基本的结果。但是在实际的工程应用中,模型建立之后,也需要再进一步结合许多优化方面的技术,这就是我们接下来想要探讨的。 5. 优化 TinyML 这本书也详细的向我...

tensorflowforum的博客 1万+

别再让地图加载慢吞吞!GeoServer + GeoWebCache 缓存配置实战(附性能对比)

本文详细介绍了如何通过GeoServer和GeoWebCache优化地图服务性能,实现地图加载速度的显著提升。从缓存机制解析到实战配置流程,再到高级性能调优技巧,帮助开发者构建高效地图缓存系统,解决地图加载慢的问题。

weixin_42525369的博客 407

JS调用后台方法大全

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

weixin_30810239的博客 5304

STM32外部中断EXTI原理与飞控实时应用实战

外部中断(EXTI)是嵌入式系统中实现事件驱动和实时响应的核心机制,其本质是将外部电平变化转化为可调度的CPU中断事件。基于ARM Cortex-M NVIC架构,EXTI通过GPIO-EXTI-NVIC三级硬件通路实现低延迟信号捕获,具备边沿触发、优先级管理与挂起控制等关键能力。在四轴飞控、工业传感器、人机交互等对毫秒级响应有强需求的场景中,EXTI显著优于轮询方式,兼顾实时性与CPU资源效率。实际开发需严格遵循SYSCFG映射→EXTI配置→NVIC使能的时序逻辑,并规避常见陷阱如中断号误配、伪触发、低

weixin_36382073的博客 65

js实现直接调用后台方法

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

IT程序员的成长记 1万+

使用Matlab与V-REP联合仿真

在Matlab中,我们可以使用V-REP提供的远程API(Application Programming Interface)来连接到V-REP仿真环境。为了连接Matlab与V-REP,我们需要在Matlab中添加V-REP的远程API函数库。你可以根据具体的需求编写Matlab脚本来控制V-REP场景中的机器人,并进行系统建模和仿真。一旦成功连接到V-REP,我们可以使用Matlab来控制V-REP场景中的机器人。在本文中,我们将介绍如何使用Matlab与V-REP进行联合仿真,并提供相应的源代码。

HackMasterX的博客 1853

位置点位到达判断FC(Easy+Codesys+博途平台)

IN rActPositon REAL 轴当前实际位置 1IN arAbsPosition REAL[10] 各工作点位坐标 2IN rDeadZone REAL 位置达到判断域值 范围 3OUT abInAbsPos BOOL[10] 到达各绝对定位点位标志 位置到达输出 4VAR i INT 循环计数 5VAR rErr REAL 位置偏差 6。

RXXW_Dor的博客 536

js巧妙的调用后台方法

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

名...殇的博客 9248

基于Qt的工业组态软件开发:图形绘制与TCP通讯实现

在数据接收时,通过 readyRead 信号触发解析函数,校验数据包完整性后提取有效数据,并更新对应图形元素的状态,例如根据温度值改变矩形的填充色,实现设备状态可视化。测试阶段,我们将软件部署到Windows工控机,连接PLC设备进行通讯测试,结果表明图形元素响应及时,TCP数据传输稳定,满足工业现场的基本需求。综上所述,基于Qt的组态软件开发,核心在于利用 QGraphicsView 框架实现图形元素的灵活绘制与管理,结合 QTcpSocket 完成工业数据的可靠交互。

谢谢大家的关注和点赞!这里只有纯纯的知识干货,没有一句废话。希望能实实在在帮到大家~要是觉得有用,别忘了给我点支持哟,你 273

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

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

weixin_30147611的博客 2415

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

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

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

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

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

chenqiangdage的专栏 6973

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

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
博客等级 码龄1天 83粉丝 193原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值