zoukankan      html  css  js  c++  java
  • jqueryajax之2:调用asp.net 页面后台方法

    ps:前一篇介绍jquery调用webservice,这一篇引用的是用jquery直接调用aspx后台方法。

    先创建一个aspx页面编写一个客户端控件<input type="button" id="AjaxDemo"
    value="AjaxDemo">

    再aspx后台的页面编写一个简单的方法,代码如下:

    [WebMethod]
    public static string ABC(string ABC)
    {
        return ABC;
    }

    必须声明为静态方法,并且它们必须使用 [WebMethod] 特性标注。但是在webservice里面不必是静态方法,它的对象可以是list、dataset、class对象等……

    接下来就应该考虑怎么让前台的客户端控件调用到后台的方法了..这时jqury登场了..

    在页面引入jquery类库

    <script type="text/javascript"
    src="JQuery/jquery-1.3.2-vsdoc2.js"></script>

    在页面添加脚本代码如下:

    <script type="text/javascript">

    $().ready( function() {
                   
      $("#AjaxDemo").click(function() {
                       
        $.ajax({
                            type: "POST",
                           
            url: "Default.aspx/ABC",
                            data: "{'ABC':'test'}",
                            contentType: "application/json; charset=utf-8",
                            success: function(msg) {alert(msg); }
                        })
                    })
                }
    )

    </script >



    这样就大功告成了!很多事情都是jquery类库帮我们做完了,我们这里讨论的是如何用,具体里面怎么实现,我们不关心!

    jquery里还有很多像$.ajax这样的方法提供给我们使用.大家可以试试!

    补充:注意要建3.5的项目,如果是2.0的话。配置文件会少很多引用的,如果你建的是2.0项目的话。建个3.5的。把3.5的配置文件覆盖到2.0的项目即可!

    上面的代码如果成功之后弹出的是"{d:test}",是因为他返回的是字符串,我们可以将他改成返回json对象.

    把jquery代码修改如下

    $().ready(
                function() {
                   
    $("#AjaxDemo").click(function() {
                       
      $.ajax({
                     type: "POST",
                           
          url: "Default.aspx/ABC",
                     data: "{'ABC':'test'}",
                     dataType: "json",
                     contentType: "application/json; charset=utf-8",
                     success: function(msg) {alert(msg.d); }
                        })
                    })
                }
           
    }

    我们设置他返回的数据是json对象,现在我们可以用返回的json对象,根据弹出来的d:test,我们可以很明显看到key是d,值是test,那我们利用返回的数据msg对象直接点d,就可以获得test的,修改了代码之后.现在弹出来就是test了..

    转自:http://blog.163.com/l_gx396696760/blog/static/39228229200910236212954/

  • 相关阅读:
    关于Delphi中RS Float字段只有4位及OADateTime不能显示到秒的解决办法
    xml特殊字符处理(js)
    总结一下最近将163邮箱拖动效果改成兼容Firefox遇到的问题
    在XIB里面关于@property,@synthesize,release,dealloc的怪现象
    关于Core Data里面删除了一个被retain的NSManagedObject
    Hello cnblogs' world!
    html5离线应用程序 Amy
    css3布局相关的样式 Amy
    html5拖放API Amy
    css3MediaQueries的相关样式 Amy
  • 原文地址:https://www.cnblogs.com/alvinyue/p/2030998.html
Copyright © 2011-2022 走看看