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;
      });
    });

  • 相关阅读:
    logback 打印mybatis sql mybatis 日志打印sql语句和返回结果
    SpringBoot使用logback输出日志并打印sql信息 --经典---
    Logback设置SQL参数打印
    springboot2.X整合mybatis
    异常解决:java.lang.IllegalStateException: Failed to introspect Class
    springboot 启动报错 java.lang.IllegalStateException: Failed to introspect annotated methods on class org
    数据库相关中间件介绍
    QWaitCondition 的正确使用方法(通过 mutex 把有严格时序要求的代码保护起来,同时把 wakeAll() 也用同一个 mutex 保护起来)
    对生产者和消费者问题的另一个解决办法是使用QWaitCondition(封装好了wakeOne,wakeAll,而且与QReadWriteLock对接,几乎是万能的办法)
    Linux定时器的使用(三种方法)
  • 原文地址:https://www.cnblogs.com/chengeng/p/5799643.html
Copyright © 2011-2022 走看看