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

    });    

});

本篇文章来源于 dotnet开源社区  原文链接:http://www.openaspx.com/article/201204/06/20120406090800.htm

利用JQuery直接调用asp.net后台方法的更多相关文章

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

    利用JQuery的$.ajax()可以很方便的调用asp.net的后台方法. [WebMethod]   命名空间 1.无参数的方法调用, 注意:1.方法一定要静态方法,而且要有[WebMethod] ...

  2. JQuery Ajax调用asp.net后台方法

    利用JQuery的$.ajax()可以很方便的调用asp.net的后台方法. 先来个简单的实例热热身吧. 1.无参数的方法调用 asp.net code: using System.Web.Scrip ...

  3. jQuery.ajax()调用asp.net后台方法

    利用JQuery的$.ajax()可以很方便的调用asp.net的后台方法.介意方法名不要重名 建一个WebFormAjax名aspx文件 CS <%@ Page Language=" ...

  4. .Net中jQuery.ajax()调用asp.net后台方法 总结

    利用JQuery的$.ajax()调用.Net后台方法有多种方式, 不多说了  直接上代码 前台代码 <script type="text/javascript"> $ ...

  5. jQuery.ajax()调用asp.net后台方法(非常重要)

    http://www.cnblogs.com/zxhoo/archive/2011/01/30/1947752.html 用JQuery的$.ajax()可以很方便的调用asp.net的后台方法. 先 ...

  6. ajax 调用asp.net后台方法

    ajax 调用asp.net后台方法  这种做法有好几种,如调用xx.asxh 页面,或者直接调用xx.aspx也面,在page_Load中进行一些判断然后调用后面的其他方法, 或者你可以直接调用we ...

  7. jQuery调用Asp.Net后台方法

    常用的ajax就不讲了,这里主要是说通过ajax调用asp.net后台的cs文件暴露的方法. 前台: <%@ Page Language="C#" AutoEventWire ...

  8. JQuery直接调用asp.net后台WebMethod方法

    利用JQuery的$.ajax()可以很方便的调用asp.net的后台方法.[WebMethod]   命名空间 1.无参数的方法调用, 注意:1.方法一定要静态方法,而且要有[WebMethod]的 ...

  9. [ASP.NET]JQuery直接调用asp.net后台WebMethod方法

    在项目开发碰到此类需求,特此记录下经项目验证的方法总结. 利用JQuery的$.ajax()可以很方便的调用asp.net的后台方法. [WebMethod] 命名空间 1.无参数的方法调用 注意:方 ...

随机推荐

  1. ThinkPHP 初探

    准备 ThinkPHP下载 Eclipse-for-php 如何使用 放置位置 检验引用效果 效果 路由 调试之模板的使用 前提 生产模式 开发模式 添加完相应的路径以及模板文件后 总结 对国人开发的 ...

  2. Linux下文件和文件夹操作命令详解

    花了两个小时的时间,把文件和文件夹相关的常用命令:创建.删除.移动.复制.查找.重命名在linux上测试了一把,总结下来.文件夹的这些基本操作是要多注意的,一不小心就达不到你想要的效果. 文件夹操作: ...

  3. 自动滚动的TextView

    自动滚动的TextView 效果图 XML文件 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/andr ...

  4. FFmpeg源代码简单分析:avcodec_close()

    ===================================================== FFmpeg的库函数源代码分析文章列表: [架构图] FFmpeg源代码结构图 - 解码 F ...

  5. ExtJS学习(一)Ext自定义类实现

    工作中项目需要extjs,所以学习一下,做个笔记防止遗忘了.以后回忆起来也方便. 首先下载extjs官网地址:http://extjs.org.cn/ 下载以后的目录结构: 先写一个入门的程序吧自定义 ...

  6. java的四种引用类型

    java的引用分为四个等级:4种级别由高到低依次为:强引用.软引用.弱引用和虚引用. ⑴强引用(StrongReference) 强引用是使用最普遍的引用.如果一个对象具有强引用,那垃圾回收器绝不会回 ...

  7. Android初级教程IP拨号器初识广播接受者

    需求:输入ip号码并且保存在本地,监听打电话广播,如果电话号码以0开头,则加上ip区号拨打. 首先定义一个页面布局: <LinearLayout xmlns:android="http ...

  8. 极光推送---安卓Demo

    对于一个一直干.net的程序媛来说,冷不丁的让小编干安卓,那种感觉就好似小狗狗咬小刺猬一样,不知道从哪儿开始下手,对于小编来说,既是挑战更是机遇,因为知识都是相通的,再者来说,在小编的程序人生中,留下 ...

  9. android studio——Failed to set up SDK

    最近使用android studio ,在IDE里面使用Gradle构建的时候,一直出现构建失败,失败信息显示Failed to set up SDK.然后 提示无法找到andriod-14平台,我更 ...

  10. FFmpeg API 变更记录

    最近一两年内FFmpeg项目发展的速度很快,本来是一件好事.但是随之而来的问题就是其API(接口函数)一直在发生变动.这么一来基于旧一点版本的FFmpeg的程序的代码在最新的类库上可能就跑不通了. 例 ...