ASP.Net - Ajax在ashx/aspx中的使用,以及直接使用js封装好的Ajax

Ajax在ashx/aspx中的使用,以及直接使用js封装好的Ajax 

//注意这里的Ajax_Get.ashx为一般处理程序,AjaxDemo_GetA.aspx为窗体应用程序
//需要引入js文件,但是这里并没有直接使用js封装好的Ajax方法

<script> $(function () { $("#btnGetDate").click(function () { var xhr; if (XMLHttpRequest) {//表示用户使用的是谷歌、火狐等 xhr = new XMLHttpRequest(); } else {//IE xhr = new ActiveXObject("Microsoft.XMLHTTP"); } //第一个参数:请求方式 get/post //第二个参数:请求地址(一般处理程序) //第三个参数:是否为异步(true) xhr.open("get", "Ajax_Get.ashx", true); xhr.send(); xhr.onreadystatechange = function () {//回调函数 if (xhr.readyState == 4) {//表示服务器奖处理结果返回过来 if (xhr.status == 200) {//表示服务端处理没有问题 //打印从服务端返回的数据 alert(xhr.responseText); } } }; }); $("#btnGetA").click(function () { var xhr; if (XMLHttpRequest) {//表示用户使用的是谷歌、火狐等 xhr = new XMLHttpRequest(); } else {//IE xhr = new ActiveXObject("Microsoft.XMLHTTP"); } //第一个参数:请求方式 get/post //第二个参数:请求地址(一般处理程序) //第三个参数:是否为异步(true) xhr.open("get", "AjaxDemo_GetA.aspx?a=ppp", true);//注意:这里使用get方法传递了一个参数,名称为a,值为ppp xhr.send(); xhr.onreadystatechange = function () {//回调函数 if (xhr.readyState == 4) {//表示服务器将处理结果返回过来 if (xhr.status == 200) {//表示服务端处理没有问题 //打印从服务端返回的数据 alert(xhr.responseText); } } }; }); }); </script>

Ajax_Get.ashx如下

public void ProcessRequest(HttpContext context)
{
     context.Response.ContentType = "text/plain";
     context.Response.Write(DateTime.Now.ToString());
}

AjaxDemo_GetA.aspx如下

        protected void Page_Load(object sender, EventArgs e)
        {
            Response.Write(Request.QueryString["a"]);//这里也可以这么写:Response.Write(Request["a"]);
            Response.End();//结束浏览器继续渲染
        }

直接使用js封装好的函数

    <script>
        $(function () {
            $("#btnGetDate").click(function () {
                //url 参数 回调函数
                $.post("AjaxPost.ashx", { "name": "admin", "pwd": "123" }, function (data) {
                    alert(data);
                });
            });
        });

    </script>

AjaxPost.ashx如下

      public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";
            string userName = context.Request.Form["name"].ToString();
            string userPwd = context.Request.Form["pwd"].ToString();
            context.Response.Write("用户名【" + userName + "】密码【" + userPwd + "】");

            //判断请求方式
            //context.Request.HttpMethod;判断请求方式。
            //context.Request["name"]; 直接获取
        }

  作者:Jeremy.Wu
  出处:https://www.cnblogs.com/jeremywucnblog/
  本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

猜你喜欢

转载自www.cnblogs.com/jeremywucnblog/p/12312421.html