zoukankan      html  css  js  c++  java
  • ASP.Net

    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());
    }
        <script src="../js/jquery-1.4.1.js"></script>
        <script>
            $(function () {
                $("#btnGetDate").click(function () {
                    var xhr;
                    if (XMLHttpRequest) {
                        xhr = new XMLHttpRequest();
                    } else {
                        xhr = new ActiveXObject("Microsoft.XMLHTTP");
                    }
                    xhr.open("post", "AjaxPost.ashx", true);
                    xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");//这里需要设置请求头
                    xhr.send("name=admin&pwd=123");
                    xhr.onreadystatechange = function () {//回调函数
                        if (xhr.readyState == 4) {//表示服务器将处理结果返回过来
                            if (xhr.status == 200) {//表示服务端处理没有问题
                                alert(xhr.responseText);//打印从服务端返回的数据
                            }
                        }
                    }
                });
            });
    
        </script>

    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/
      本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    How to install the NVIDIA drivers on Fedora 32
    Create a cursor from hardcoded array instead of DB
    Linux操作系统(第二版)(RHEL 8/CentOS 8)——勘误表
    Transistor count
    the ability with LLVM Clang 9.0 to compile Linux kernel 5.3+
    Accelerating Android AOSP and Embedded Linux Builds, Part 1
    Preparing a toolchain for building ARM binaries on x86 hosts
    Build U-Boot and Linux Kernel from Source Code
    How to cross-compile and use Mainline Kernel
    Building Linux Kernel for Dragonboard-820c
  • 原文地址:https://www.cnblogs.com/jeremywucnblog/p/12312421.html
Copyright © 2011-2022 走看看