zoukankan      html  css  js  c++  java
  • 简单的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请求处理的一部分,后面还有很多处理,如果不结束返回值不知道被处理成什么了

  • 相关阅读:
    c文件操作库
    双链常用操作2
    双向链表常用操作
    c队列操作
    c日期格式化操作之date
    单链常用操作类
    c字符串常用操作
    双向链表通用类
    c栈操作
    poj2509
  • 原文地址:https://www.cnblogs.com/cuihongyu3503319/p/1352617.html
Copyright © 2011-2022 走看看