zoukankan      html  css  js  c++  java
  • jQuery直接调用asp.net后台WebMethod方法

    利用JQuery的$.ajax()可以很方便的调用asp.net的后台方法。
    [WebMethod]   命名空间

    1、无参数的方法调用, 注意:1.方法一定要静态方法,而且要有[WebMethod]的声明

    后台<C#>:

    using System.Web.Script.Services;

    [WebMethod]
    public static string SayHello()
    {
      return "Hello Ajax!";
    }

    前台<JQuery>:

    $(function() {
      $("#btnOK").click(function() {
      $.ajax({
        //要用post方式
        type: "Post",
        //方法所在页面和方法名
        url: "data.aspx/SayHello",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function(data) {
          //返回的数据用data.d获取内容
          alert(data.d);
        },
        error: function(err) {
          alert(err);
        }
      });

      //禁用按钮的提交
      return false;
      });
    });

    2、带参数的方法调用

    后台<C#>:

    using System.Web.Script.Services;

    [WebMethod]
    public static string GetStr(string str, string str2)
    {
      return str + str2;
    }

    前台<JQuery>:

    $(function() {
      $("#btnOK").click(function() {
        $.ajax({
          type: "Post",
          url: "data.aspx/GetStr",
          //方法传参的写法一定要对,str为形参的名字,str2为第二个形参的名字
          data: "{'str':'我是','str2':'XXX'}",
          contentType: "application/json; charset=utf-8",
          dataType: "json",
          success: function(data) {
          //返回的数据用data.d获取内容
          alert(data.d);
          },
        error: function(err) {
          alert(err);
        }
      });

      //禁用按钮的提交
      return false;
      });
    });

    3、返回数组方法的调用

    后台<C#>:

    using System.Web.Script.Services;

    [WebMethod]
    public static List<string> GetArray()
    {
      List<string> li = new List<string>();

      for (int i = 0; i < 10; i++){
        li.Add(i + "");
      }
      return li;
    }

    前台<JQuery>:

    $(function() {
      $("#btnOK").click(function() {
        $.ajax({
          type: "Post",
          url: "data.aspx/GetArray",
          contentType: "application/json; charset=utf-8",
          dataType: "json",
          success: function(data) {
          //插入前先清空ul
          $("#list").html("");

          //递归获取数据
          $(data.d).each(function() {
          //插入结果到li里面
            $("#list").append("<li>" + this + "</li>");
          });

            alert(data.d);
        },
        error: function(err) {
            alert(err);
          }
        });

        //禁用按钮的提交
        return false;
      });
    });
    /// <reference path="jquery-1.4.2-vsdoc.js"/>
    $(function() {
      $("#btnOK").click(function() {
        $.ajax({
          type: "Post",
          url: "data.aspx/GetArray",
          contentType: "application/json; charset=utf-8",
          dataType: "json",
          success: function(data) {
          //插入前先清空ul
          $("#list").html("");

          //递归获取数据
          $(data.d).each(function() {
          //插入结果到li里面
          $("#list").append("<li>" + this + "</li>");
        });

          alert(data.d);
        },
        error: function(err) {
          alert(err);
        }
      });

        //禁用按钮的提交
        return false;
      });
    });

  • 相关阅读:
    tf.nn.batch_normalization()函数解析(最清晰的解释)
    tf.identity()函数解析(最清晰的解释)
    Github Fork项目后如何与源主机代码保持更新同步
    nginx平滑升级、在线添加模块(tengine 动态加载模块)
    nginx平滑升级、在线添加模块(tengine 动态加载模块)
    nginx平滑升级、在线添加模块(tengine 动态加载模块)
    nginx平滑升级、在线添加模块(tengine 动态加载模块)
    使用mysqldump自动备份数据库脚本
    使用mysqldump自动备份数据库脚本
    使用mysqldump自动备份数据库脚本
  • 原文地址:https://www.cnblogs.com/chengeng/p/5799643.html
Copyright © 2011-2022 走看看