AJAX通过HTML请求C#一般处理程序

Posted 超暖系呆少年i

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AJAX通过HTML请求C#一般处理程序相关的知识,希望对你有一定的参考价值。

AJAX通过html请求C#一般处理程序

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title></title>
</head>
<body>
    <input type="button" value="Ajax提交" onclick="Ajax()" />
    <div id="resMsg"></div>
    <script>
        ////1.定义一个函数,通过该函数来异步获取信息
        //function Ajax() {
        //    //2.声明一个空对象来用装XMLHTTPRequest对象
        //    var xmlHttpReq = null;
        //    //3.给XMLHTTPRequest对象赋值
        //    if (window.ActiveXObject)  //IE5 IE6 是已ActiveXObject的方式引入XMLHTTPRequest对象
        //    {
        //        xmlHttpReq = new ActiveXObjece("Microsoft.XMLHTTP");
        //    }
        //    else if (window.XMLHttpRequest) //出IE5 IE6以外的浏览器,XMLHttpRequest是window的子对象
        //    {
        //        xmlHttpReq = new XMLHttpRequest(); //实例化一个XMLHttpRequest
        //    }
        //    //4.实例化成功,使用Open方法初始化XMLHttpRequest对象,指定HTTP方法和要使用服务器的url
        //    //xmlHttpReq.open("GET", "/ashx/NewOneAjax.ashx?id=17&name=" + window.encodeURIComponent("张三", true));
        //    xmlHttpReq.open("GET", "/ashx/NewOneAjax.ashx",true);
        //        //调用open方法并采用异步方式
        //    //默认情况下,使用XMLHttpRequest对象发送的HTTP请求是异步进行的,但是可以显示地吧async参数设置为true
        //    //5.因为要做一个异步调用
        //    xmlHttpReq.onreadystatechange = requestCallBack; //设置回调函数
        //    //6.使用Send方法发送该请求
        //    xmlHttpReq.send(null); //因为是Get提交,所以可以使用null作为参数调用
        //}

        //function requestCallBack()  //一旦readyState值改变,将会调用该函数
        //{
        //    if (xmlHttpReq.readyState == 4) {
        //        //status 响应状态
        //        if (xmlHttpReq.status == 200) {
        //            //将xmlHttpReq.responseText的值赋予id为resMsg的元素
        //            document.getElementById("resMsg").innerHTML = xmlHttpReq.responseText;
        //        }
        //    }
        //}
            function Ajax() {
                //第一步,创建XMLHttpRequest对象
                var xhr = null;
                if (typeof (XMLHttpRequest) != undefined) {
                    xhr = new XMLHttpRequest();
                }
                else {
                    xhr = new ActiveXObject("Microsoft.XMLHttp");
                }
                //第二部,设置异步回调函数。
                xhr.onreadystatechange = function () {
                    //xhr对象状态,0=已创建XMLHttpRequest对象,1=open,2=send,3=onready等待响应,4=成功。
                    if (xhr.readyState == 4) {
                        //status 响应状态
                        if (xhr.status ==200) {
                            document.getElementById("resMsg").innerHTML = xhr.responseText; //xhr.responseText 响应体
                        }
                    }
                }
                //第三步,打开对象,设置请求方式和访问路径
                xhr.open("Get", "/ashx/NewOneAjax.ashx", true);
                //第四步,send()
                xhr.send(null);
            };
    </script>

</body>
</html>

  请求后端

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace WebApplication1.ashx
{
    /// <summary>
    /// NewOneAjax 的摘要说明
    /// </summary>
    public class NewOneAjax : IHttpHandler
    {

        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";
            context.Response.Write("Hello World");
            //string id = context.Request["id"];
            //string name = context.Request["name"];
            //context.Response.Write(DateTime.Now.ToString() + "<br/>编号:" + id + "<br/>姓名:" + name);
        }

        public bool IsReusable
        {
            get
            {
                return false;
            }
        }
    }
}

  转载:https://www.cnblogs.com/han1982/p/4049642.html

以上是关于AJAX通过HTML请求C#一般处理程序的主要内容,如果未能解决你的问题,请参考以下文章

jQuery Ajax请求 .net 一般处理程序

C# 实现模拟网页操作

Javascript调用C#后台方法及JSon解析

现在webform处理ajax请求用一般处理程序ashx还是用后台去处理

AJAX提交到Handler.ashx一般处理程序返回json数据-转

Ajax请求 一般处理程序参数传递的几种方式