jquery ajax的应用

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="RequestPage.aspx.cs" Inherits="JQueryAjaxDemo.apsxDemo.RequestPage" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>JQuery Ajax 请求Aspx页面的例子----请求页</title>
    <script src="../Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>
    <!-- 直接请求页面的方法
    <script type="text/javascript">
        // 直接请求页面的方式,其实请求本身页面和其他页面都是一样的,无非就是地址不一样,O(∩_∩)O~。
        $(function () {
            /* 请求当前自己页面
            $.get(
                "RequestPage.aspx",
                { "token": "ajax" },
                function (data) {
                $("#dataShow").text(data);
                }
            );*/
            // 请求其他页面
            $.ajax({
                type: "get",
                url: "ResponsePage.aspx",
                data: { token: "ajax" },
                // 直接时候用post请求一个页面,jquery中指明如果使用这种形式,必须是key/value的形式,
                // jquery自动设置contentType='application/x-www-form-urlencode',转换为form的值对,
                // 而现在下面的data只是一个字符串,是无法转换为准确的form形式的。
                // data: "{\"token\":\"ajax\"}",
                // data: "token=ajax",
                // contentType:"application/xml;charset=utf-8;",// 这句不能写,否则返回整个页面的html内容。
                // contentType:"application/x-www-form-urlencode;charset=utf-8",// 这句话,jquery会自动添加。
                // contentType:"application/json", // 如果使用json格式,因为使用post整个页面,所以无法得到form的值。
                dataType: "json",
                success: function (data) {
                    // $("#dataShow").text(data);
                    alert(data);
                },
                error: function (d, c,e) {
                    var dd = d;
                }
            });
        })
    </script>
     -->

    <!-- 请求页面方法的方法
    <script type="text/javascript">
        $(function () {
            /* 请求页面方法的时候,get和post不是很靠谱,还是使用ajax吧,\(^o^)/~。
            $.get(
                "RequestPage.aspx/RequestedMethod",
                function (data) {
                alert(data);
                }
            );*/
           
            $.ajax({
                type: "get",
                url: "ResponsePage.aspx/RequestedMethod",
                contentType: "application/json;charset=utf-8",// 这句可不要忘了。
                dataType: "json",
                success: function (res) {
                    $("#dataShow").text("success:" + res.d); // 注意有个d,至于为什么通过chrome看响应吧,O(∩_∩)O。
                },
                error: function (xmlReq, err, c) {
                    $("#dataShow").text("error:" + err);
                }
            });
        })
    </script>
    -->

    <!-- 请求页面方法的方法,带参数-->
    <script type="text/javascript">
        $(function () {
            $.ajax({
                type: "Post",
                url: "ResponsePage.aspx/RequestMethod1",
                data:"{'msg':'hello'}",
                contentType: "application/json;charset=utf-8",// 这句可不要忘了。
                dataType: "json",
                success: function (res) {
                    $("#dataShow").text("success:" + res.d); // 注意有个d,至于为什么通过chrome看响应吧,O(∩_∩)O。

                },
                error: function (xmlReq, err, c) {
                    $("#dataShow").text("error:" + err);
                }
            });
        })
    </script>
   
</head>
<body>
    <form id="form1" runat="server">
    <div id="dataShow">
       
    </div>
    </form>
</body>
</html>

上面为客户端------------------------------------------------------------------------------------------------------------------------------

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.Services;
using System.Web.Script.Services;
using System.IO;

namespace JQueryAjaxDemo.apsxDemo
{
    public partial class ResponsePage : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!this.IsPostBack)
            {
                StreamReader reader = new StreamReader(Request.InputStream);
                string dd = reader.ReadToEnd();
                if ((Request["token"] ?? "") == "ajax")
                {
                    // 下面这些内从可以放在一个方法里,然后通过“token”标记去判断执行哪个方法。

                   
                    // 如果要是返回的响应为xml,则必须这样设置
                    //Response.ContentType = "application/xml";
                    // 如果要是返回的响应为xml,返回的字符串必须是可以被解析的xml文档格式。
                    //Response.Write("<my>123</my>");
                    
                    // 如果要是返回的响应为json,需要这样设置,但是不是必须的,也可以不设置。
                    //Response.ContentType = "application/Json";
                    // 如果要是返回的响应为json,返回的字符串必须是可以被解析的json文档格式。
                    // Response.Write("[123]");

                    // 这个是直接返回字符串的情况。
                    // Response.Write("我是直接请求aspx页面返回的文字!我是ResponsePage.");

                    Response.Write("[123]");
                    Response.End();
                }
            }
        }

        // 需要被Ajax请求的后台方法
        [WebMethod]
        [ScriptMethod(UseHttpGet = true)]// 如果要使用POST方式请求,去掉这个标记
        public static string RequestedMethod() // 方法一定要是静态的。
        {
            return "我是被请求的后台方法RequestedMethod";
            // return "<my>123</my>";
        }

        [WebMethod]
        public static string RequestMethod1(string msg)
        {
            return msg+"343";
        }

    }
}

上面为服务器端

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值