• 简单的ajax请求aspx页


     这里只是简单做了一个字符串,并没有做xml的处理

     <script language="javascript">
      var xmlHttpRequest = null;
      function selectionChanged()
      {
       var url = "Default.aspx?index=" + document.getElementById("select").value;
       
       // IE only.
       xmlHttpRequest = new ActiveXObject("Msxml2.XMLHTTP");
       xmlHttpRequest.onreadystatechange = onReadyStateChange;
       xmlHttpRequest.open("GET", url, true);
       xmlHttpRequest.send(null);
      }
      
      function onReadyStateChange()
      {
       if (xmlHttpRequest.readyState == 4)
       {
        if (xmlHttpRequest.status == 200)
        {  
            var wwwww= document.getElementById("text");
         wwwww.innerHTML = xmlHttpRequest.responseText;
        }
       }
      }
        </script>

    以前自己做ajax都是请求的.ashx页面  今天请求了一下aspx页发现一个问题

    <%@ WebHandler Language="C#" Class="Handler" %>

    using System;
    using System.Web;
    using System.Data;
    using System.Web;
    using System.Data.SqlClient;
    public class Handler : IHttpHandler {
       
        public void ProcessRequest (HttpContext context) {
            context.Response.ContentType = "text/plain";
            context.Response.Write("Hello World");

            try
            {
                context.Response.Write("<text>" + " " + "</text>");
            }
            catch
            {
                context.Response.Write("没有记录");
            }
            context.Response.End();
        }
     
        public bool IsReusable {
            get {
                return false;
            }
        }
    }

     当是.ashx页时context.Response.End();不用写也可以,因为ProcessRequest 它是一个完整的http请求处理,

    不写End在方法结束后请求也结束了

    当是.aspx页时

     

    public partial class Ajax_Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            Response.ContentType = "text/plain";
            Response.Write("Hello World");

            try
            {
                Response.Write("<text>" + " " + "</text>");
            }
            catch
            {
                Response.Write("没有记录");
            }
            Response.End();
        }
    }

            Response.End();是必须写的,因为pageload只不过是http请求处理的一部分,后面还有很多处理,如果不结束返回值不知道被处理成什么了

  • 相关阅读:
    深入Java集合学习系列:ConcurrentHashSet简单实现
    深入Java集合学习系列:TreeSet 详解
    深入Java集合学习系列:TreeMap实现
    深入Java集合学习系列:ConcurrentHashMap之实现细节
    深入Java集合学习系列:WeakHashMap的实现原理
    深入Java集合学习系列:Hashtable的实现原理
    深入Java集合学习系列:LinkedList的实现原理
    深入Java集合学习系列:ArrayList的实现原理
    深入Java集合学习系列:LinkedHashSet的实现原理
    深入Java集合学习系列:LinkedHashMap的实现原理
  • 原文地址:https://www.cnblogs.com/cuihongyu3503319/p/1352617.html
Copyright © 2020-2023  润新知