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请求处理的一部分,后面还有很多处理,如果不结束返回值不知道被处理成什么了

  • 相关阅读:
    成为Emacs高手01-学习自带教程
    成为Emacs高手03-学习基础Elisp
    Google Drive For Linux
    Yet Another Scheme Tutorial 02
    1、Maven 基本配置
    eclipse添加easyExport插件,打开本地文件
    原创一看便知、Maven创建web项目
    1、启动oracle的步骤
    java正则表达式【大全】
    servlet上传下载(任何格式的都可以)
  • 原文地址:https://www.cnblogs.com/cuihongyu3503319/p/1352617.html
Copyright © 2011-2022 走看看