zoukankan      html  css  js  c++  java
  • 初识 Ajax

    前段时间一直烦恼于无法利用JS调用后台的方法,现在终于学会点方法,觉得应该写下来与别人一起分享下,希望能够帮助一些和我一样的小鸟。

    1.如果是调用后台的带返回值的无参数方法,那么<%=方法()%>无疑是最为简单的一  种方法。举个例子,比如你后台方法为public string s(){return "我很棒";}这样只要在前台这样写<script type="text/javascript">var a= <%=s()%>;alert(a);
    </script>,这样你弹出的框中就会显示处“我很棒”。当然你也可以不用弹框,总之这样就可以调用到后台的方法,但是前提是它必须是有返回值的。也许你会说我要是想在前台给方法赋参数呢?那这种方法就不行,因为前台调用的方法在服务器加载的时候总是先运行的,所以没有等你的参数过去它就已经运行了。但是如果你的参数只是简单的字符串,那是可以的,举个例子:var id="中国";var a='<%=s("'+id+'")%>';alert(a);,后台的方法是:public string s(string x){return x+"很棒";},这样弹出框就会显示“中国很棒”。注意JS中双引号和单引号是没有区别的,其实"'+id+'"只是串字符串,没有任何意思。a获得后台方法的返回值,a="'+id+'"+"很棒"。相信大家因该明白了,前台是无法传递变量到后台的,只不过利用了连接字符串的形式将字符串当做参数,这样后台方法返回值后,id这个变量才被用上了。
    2.这种方法是我觉得最好的一种调用后台的方法,网上也有很多地方说到,就是aJaxpro.使用这种方法
    第一步:下载aJaxpro.dll文件,这个官网下就可以了,网址http://www.ajaxpro.info/;
    第二步:就是添加引用,在你的项目中添加ajaxpro.dll的引用,这不用多说了吧;
    第三步:在web.config添加节点
    <httpHandlers>
    <add verb="POST,GET" path="ajaxpro/*.ashx" type="AjaxPro.AjaxHandlerFactory, AjaxPro.2"/>
    </httpHandler>
    第四步:在Page_Load()事件中添加注册。
    AjaxPro.Utility.RegisterTypeForAjax(typeof(类名))
    ,然后记得在你想调用的方法头前加上
    [AjaxPro.AjaxMethod],就比如
    [AjaxPro.AjaxMethod]
    public DateTime GetServerTime()
    {
    return DateTime.Now;
    }

    第五步:最后就可以在JS中调用后台方法咯,记得调用方法格式:
    命名空间.类名.方法(callback);举个例子吧,如果我这个类的命名空间是mYspace,类为Name,方法为delete(),
    则应该这样调用mYspace.Name.delete(callback).callback;function callback(res){alert(res.value);}是你调用完方法后对结果的处理,res就是方法的返回值。你可以不要写callback,那就写成
    mYspace.Name.delete()。当然如果你的方法带参数你就在括号里加参数。网上说还有另一种叫ajax.dll,如果你用的是这种,在web.config中添加节点有点不同,就是把type="AjaxPro.AjaxHandlerFactory, AjaxPro.2"改成
    type="AjaxPro.AjaxHandlerFactory, Ajax"。还有就是调用的时候不用加空间名字,直接类名.方法()

    花了半个小时写好了,希望我的文章能够帮助别人,因为我也是经常看别人的文章获取知识,这和现在的开源很类似,大家把自己知道的东西都拿出来互相学习嘛!

  • 相关阅读:
    Group_concat介绍与例子
    国家大学科技园名单
    shell截取第五行第三列
    (Deep) Neural Networks (Deep Learning) , NLP and Text Mining
    28款GitHub最流行的开源机器学习项目,推荐GitHub上10 个开源深度学习框架
    SpeeDO —— 并行深度学习系统
    BrandZ:2016年全球最具价值品牌百强榜(完整报告)
    jdk1.7升级到jdk1.8后出错: [ERROR] javadoc: warning
    伪基站收集方圆500至1000米范围内的手机卡信息,并且通过伪基站设备伪装成银行、中国移动、中国联通等任意号码向手机用户发送短信或拨打电话
    360手机助手内部资料曝光,63张PPT纯干货
  • 原文地址:https://www.cnblogs.com/renzhendewo/p/2289736.html
Copyright © 2011-2022 走看看