利用JQuery直接调用asp.net后台的简单方法


Posted in Javascript onOctober 27, 2016

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

4、返回Hashtable方法的调用

后台<C#>:

using System.Web.Script.Services;
using System.Collections;
 
[WebMethod]
public static Hashtable
 GetHash(string key,string value)
{
  Hashtable
 hs = new Hashtable();
 
  hs.Add("www",
"yahooooooo");
  hs.Add(key,
 value);
   
  return hs;
}

前台<JQuery>:

$(function()
 {  
  $("#btnOK").click(function()
 {  
    $.ajax({ 
      type:
"Post", 
      url:
"data.aspx/GetHash", 
      //记得加双引号
 T_T  
      data:
"{
 'key': 'haha', 'value': '哈哈!' }", 
      contentType:
"application/json;
 charset=utf-8", 
      dataType:
"json", 
      success:
function(data)
 {  
        alert("key:
 haha ==> "+data.d["haha"]+"\n
 key: www ==> "+data.d["www"]); 
      }, 
      error:
function(err)
 {  
        alert(err
 + "err"); 
      } 
    }); 
 
    //禁用按钮的提交 
    return false; 
  }); 
});

5、操作xml

XMLtest.xml:
 
view
 plaincopy to clipboardprint?
<?xml version="1.0"
 encoding="utf-8" ?> 
<data>
<item>
  <id>1</id>
  <name>qwe</name>
</item>
<item>
  <id>2</id>
  <name>asd</name>
</item>
</data>
<?xml version="1.0"
 encoding="utf-8" ?>
<data>
<item>
  <id>1</id>
  <name>qwe</name>
</item>
<item>
  <id>2</id>
  <name>asd</name>
</item>
</data>

前台<JQuery>:

$(function()
 {  
  $("#btnOK").click(function()
 {  
    $.ajax({ 
      url:
"XMLtest.xml", 
      dataType:
'xml',
//返回的类型为XML
 ,和前面的Json,不一样了  
      success:
function(xml)
 {  
        //清空list 
        $("#list").html(""); 
        //查找xml元素
        $(xml).find("data>item").each(function()
 {  
          $("#list").append("<li>id:" +
 $(this).find("id").text()
 +"</li>"); 
          $("#list").append("<li>Name:"+
 $(this).find("name").text()
 + "</li>"); 
        }) 
      }, 
      error:
function(result,
 status) { //如果没有上面的捕获出错会执行这里的回调函数 
        alert(status); 
      } 
    }); 
 
    //禁用按钮的提交 
    return false; 
  }); 
});

以上就是小编为大家带来的利用JQuery直接调用asp.net后台的简单方法全部内容了,希望大家多多支持三水点靠木~

Javascript 相关文章推荐
javascript 出生日期和身份证判断大全
Nov 13 Javascript
javascript 学习笔记(一)DOM基本操作
Apr 08 Javascript
jquery eval解析JSON中的注意点介绍
Aug 23 Javascript
浅析jquery unbind()方法移除元素绑定的事件
May 24 Javascript
jquery实现input框获取焦点的简单实例
Jan 26 Javascript
node通过npm写一个cli命令行工具
Oct 12 Javascript
jQuery实现的点击标题文字切换字体效果示例【测试可用】
Apr 26 jQuery
详解Node.js读写中文内容文件操作
Oct 10 Javascript
JavaScript变量提升和严格模式实例分析
Jan 27 Javascript
Node.js 多线程完全指南总结
Mar 27 Javascript
微信小程序常见页面跳转操作简单示例
May 01 Javascript
详细分析Node.js 多进程
Jun 22 Javascript
JavaScript登录验证码的实现
Oct 27 #Javascript
微信小程序  自定义创建详细介绍
Oct 27 #Javascript
vue中渐进过渡效果实现
Oct 27 #Javascript
基于JS实现横线提示输入验证码随验证码输入消失(js验证码的实现)
Oct 27 #Javascript
真正好用的js验证上传文件大小的简单方法
Oct 27 #Javascript
vue的props实现子组件随父组件一起变化
Oct 27 #Javascript
用js控件div的滚动条,让它在内容更新时自动滚到底部的实现方法
Oct 27 #Javascript
You might like
php+mysql实现无限级分类 | 树型显示分类关系
2006/11/19 PHP
php pack与unpack 摸板字符字符含义
2009/10/29 PHP
以实例全面讲解PHP中多进程编程的相关函数的使用
2015/08/18 PHP
Yii中Model(模型)的创建及使用方法
2015/12/28 PHP
Yii2中简单的场景使用介绍
2017/06/02 PHP
PHP基于SimpleXML生成和解析xml的方法示例
2017/07/17 PHP
判断浏览器的javascript版本的代码
2010/09/03 Javascript
整理的比较全的event对像在ie与firefox浏览器中的区别
2013/11/25 Javascript
js实现数组去重、判断数组以及对象中的内容是否相同
2013/11/29 Javascript
jQuery 仿百度输入标签插件附效果图
2014/07/04 Javascript
浅谈javascript 函数属性和方法
2015/01/21 Javascript
jQuery基于图层模仿五星星评价功能的方法
2015/05/07 Javascript
JavaScript实现定时隐藏与显示图片的方法
2015/08/06 Javascript
基于javascript实现页面加载loading效果
2020/09/15 Javascript
基于JavaScript实现自动更新倒计时效果
2016/12/19 Javascript
基于JavaScript实现复选框的全选和取消全选
2017/02/09 Javascript
vue绑定设置属性的多种方式(5)
2017/08/16 Javascript
javascript中UMD规范的代码推演
2018/08/29 Javascript
nodeJs的安装与npm全局环境变量的配置详解
2020/01/06 NodeJs
利用Python画ROC曲线和AUC值计算
2016/09/19 Python
解决Ubuntu pip 安装 mysql-python包出错的问题
2018/06/11 Python
Python实现通过继承覆盖方法示例
2018/07/02 Python
flask框架蓝图和子域名配置详解
2020/01/25 Python
纯CSS3代码实现switch滑动开关按钮效果
2016/08/30 HTML / CSS
在线吉他课程,学习如何弹吉他:Fender Play
2019/02/28 全球购物
幼师自我鉴定范文
2013/10/01 职场文书
运动会跳远广播稿
2014/02/04 职场文书
化工操作工岗位职责
2014/04/29 职场文书
模范班主任事迹材料
2014/12/17 职场文书
2014年加油站站长工作总结
2014/12/23 职场文书
党风廉政建设调研报告
2015/01/01 职场文书
工作自我评价范文
2015/03/05 职场文书
2015年酒店工作总结
2015/04/28 职场文书
倡议书格式及范文
2015/04/29 职场文书
奖学金主要事迹范文
2015/11/04 职场文书
2019事业单位个人工作总结范文
2019/08/26 职场文书