一、前端请求后台方式-程序员宅基地

技术标签: 面试  ViewUI  前端  后端  

一、前端请求后台方式

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

前台JS:

<script type = "text/javascript" >
    var methodStr = "<%=BehindMethod() %>";
   alert(methodStr); 
</script>

后台方法:

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

方法二:用ajax调用

 前台JS:

<script src="https://cdn.staticfile.org/jquery/2.1.1/jquery.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:

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

后台方法:

[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 

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

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

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

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

[AjaxPro.AjaxMethod]
public string GetImgByAjaxPro()
{
    return "image/54222860.jpg";
}

第五步:前台JS的调用:

function GetMethodByAjaxPro() {
    var a = JustTest.AjaxDemo.GetImgByAjaxPro();//JustTest是当前的名字空间,AjaxDemo表示后台类
    document.getElementById("imgAjaxPro").src = a.value;
}

 

转载于:https://www.cnblogs.com/fger/p/11002135.html

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_30323961/article/details/99478373

智能推荐

深度解析Python关键字:掌握核心语法的基石(新版本35+4)_keyword.softkwlist-程序员宅基地

文章浏览阅读3k次,点赞122次,收藏103次。也被称为“保留字”,是有特殊功能的标识符,不允许开发者自定义。构成python语言语法结构的核心元素,不可用作变量名或函数名。理解并熟练运用这些关键字对于编写高质量、易于理解和维护的代码至关重要。本文将带你一起探索Python中的各类关键字及其应用场景。_keyword.softkwlist

spring+mybatis+c3p0数据库连接池或druid连接池使用配置整理_c3p0和druid 项目使用比例-程序员宅基地

文章浏览阅读1.5w次,点赞11次,收藏52次。在系统性能优化的时候,或者说在进行代码开发的时候,多数人应该都知道一个很基本的原则,那就是保证功能正常良好的情况下,要尽量减少对数据库的操作。 据我所知,原因大概有这样两个: 一个是,一般情况下系统服务器和数据库服务器应该是不在同一硬件上,这时候对数据库的连接、操作就和网络有了很大的关系,连接、操作数据库越多就越影响性能。 二是,数据库的数据持久化在硬件磁盘上,对数据库数据的操作就要进行磁盘的_c3p0和druid 项目使用比例

VS2019+QT5.14.2安装及配置编译环境_vs qt 配置-程序员宅基地

文章浏览阅读440次,点赞5次,收藏4次。1、打开qt creator的工具–选项–kits–编译器,选择Manual即手动添加,点击添加–MSVC–C++,按如下配置分别添加32-bit和64-bit。到此整个安装和配置就完成了,可以在Visual Studio创建工程进行Qt软件程序开发。点击之后会出现下图所示界面,然后在Path处添加上述步骤一安装的QT MSVC编译器路径。三、在QT Creator中配置msvc2017编译器。1、工具 -> 扩展与更新 -> 联机 -> 搜索qt。四、在VS2019中配置qt工具。_vs qt 配置

产品交互体验引导——To C端产品_c端交互体验-程序员宅基地

文章浏览阅读1.9k次。To C产品交互体验方案_c端交互体验

ImageMagick快速入门_imagemagick 的安装路径添加到系统的环境变量-程序员宅基地

文章浏览阅读1.2w次。ImageMagick_imagemagick 的安装路径添加到系统的环境变量

FindBugs插件的安装与使用_findbugs 4.64 安装-程序员宅基地

文章浏览阅读529次。1 什么是FindBugsFindBugs 是一个静态分析工具,它检查类或者 JAR 文件,将字节码与一组缺陷模式进行对比以发现可能的问题。有了静态分析工具,就可以在不实际运行程序的情况对软件进行分析。不是通过分析类文件的形式或结构来确定程序的意图,而是通常使用 Visitor 模式来鉴别代码是否符合一些固定的规范。2 如何安装FindBugs?作为Eclipse的一个插件,可以将Fi_findbugs 4.64 安装

随便推点

scala array转换成map_scala array.map-程序员宅基地

文章浏览阅读1.4w次。需求: 有一个二维数组 eg:Array(Array(1,20),Array(3,5),Array(7,9)) 转化为map(1->20,3->5,7->9)实现方法如下: 使用Array的map方法变量里边的数组元素,利用case class 先把数组转化为tuple,再用tuple的toMap方法转化为map。这个方法在spark程序中同样适用。只有短短_scala array.map

今日头条前端面试,深入学习链表实现原理,2024大厂Java高级面试题及答案-程序员宅基地

文章浏览阅读209次,点赞5次,收藏9次。分享一套我整理的面试干货,这份文档结合了我多年的面试官经验,站在面试官的角度来告诉你,面试官提的那些问题他最想听到你给他的回答是什么,分享出来帮助那些对前途感到迷茫的朋友。

损失函数、正则化、交叉验证_交叉验证损失-程序员宅基地

文章浏览阅读1.9k次。期望风险或期望损失:是真实的,需要x,y的联合概率分布相乘 经验风险或经验损失:机器学习问题不可能已知x,y的联合概率分布,如果已知的话,那么x得出y就很容易了。那么根据大数定理可以使用1/n*损失函数来代替期望风险,得出经验风险。结构风险最小化:是带正则项的经验风险最小化。 经验风险最小化容易带来模型复杂度过高,过拟合问题正则化: 是结构风险最小化策略的实现。正则化项一般是模型复杂度的单调递_交叉验证损失

记录自己在centos虚拟机搭建简易git服务器的过程,分享给大家_虚拟机搭建git仓库 本机开发-程序员宅基地

文章浏览阅读1.8k次。心血来潮,想自己搭建一个git开发环境, 奈何linux小白, git小白, 只好搜索网上资源,整理到一起。完成之后,发现自己的知识贫乏至极, 继续努力学习才是王道。我的真机安装的是Windows 8专业版。在vmware上安装了centos6.3-64位, 作为服务器, 选用的live cd版本,ISO文件相比binDVD版本小一点。1.服务器部分:_虚拟机搭建git仓库 本机开发

c/c++ 动态申请数组_c语言申请动态字符数组-程序员宅基地

文章浏览阅读8.6w次,点赞13次,收藏62次。new和delete运算符用于动态分配和撤销内存的运算符new用法: 1. 开辟单变量地址空间 1)new int; //开辟一个存放数组的存储空间,返回一个指向该存储空间的地址.int *a = new int_c语言申请动态字符数组

LintCode 1674 刷题记录_1674 · 倒可乐-程序员宅基地

文章浏览阅读765次。1674.倒可乐CAT 专属题目中文English给定一个容积为s的装满可乐的瓶子和两个容积分别为n和m的空杯子, 其中n + m = s. 问能否通过在三个容器之间来回倒可乐来平分这s体积的可乐? 如果可以, 返回最少倾倒可乐的次数; 反之返回-1.由于瓶子和杯子上没有刻度, 所以当你从一个容器倒可乐到另一个容器中时, 只能一直倒可乐直到一个容器空了或者另一..._1674 · 倒可乐