• 一个程序运行出不同网页


    前台代码
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
         <script src="Scripts/jquery-1.6.1.js" type="text/javascript"></script>
        <script type="text/javascript">
            $(function () {
                $("#btn1").click(
                function () {
                    alert("123");
                    $.get("ggg.aspx?id=1&Math.random()", function (data) { $("#re1").text(data) });
                });

                $("#btn2").click(
                function () {
                    $.get("ggg.aspx?id=1&name=name&Math.random()", function (data) { alert("456"); $("#btn2").val(data) });
                });
            })
        </script>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
        <%= GetTable() %> <br/>方法
        </div>
        <div id="re1">
        <input type="button" id="btn1" name="1" value="btn1" />div1
        </div>
          <div id="re2">
         <input type="button" id="btn2" name="2" value="btn2" />div2
        </div>
        </form>
    </body>
    </html>

    后台代码

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

    public partial class ggg : System.Web.UI.Page
    {
        int n = 0;
     
        protected void Page_Load(object sender, EventArgs e)
        {
          string id= Request.QueryString["id"];
          string name = Request.QueryString["name"];
          if (id!=null&&name==null)
          {
              Response.Write("send1");
              Response.End();
          }
          if (id!=null&&name!=null)
          {
            Response.Write("send3");
            Response.End();
          }
        }
        protected string GetTable()
        {
            n++;
     
           return n.ToString ()+"gettable()";
       
        }
    }

    运行后输出三种网页

    第一种网页

    btn1单击 页面先弹出 对话框123 然后 id是 re1的div中的内容为send1 btn1清除

    btn2单击 页面先弹出 对话框456 然后 id是 re2的div中的btn2的value 显示 send3 

    第二种网页

    btn1单击  页面返回 send1

    第三种网页

    直接报错不能运行

    花了一下午的时间。

    有人重写了vs。

    ashx一般处理程序可以通过判断参数最后输出Response。End();来处理多个其他页面发送的ajax请求。

    整理思路 ajax  交互式网页  xmlhttprequest对象

    1.发送ajax请求 页面不刷新  报文监视 发送了请求  监视报文中的content  回发的json格式的字符串   异步刷新。

    2. 整个异步请求对象是javascript对象 ,运行在客户端,建html就行。get请求浏览器缓存,请求没有发送到服务器。
    3.ajax同步请求和异步请求的区别xhr.open("get","1.aspx?id=1",true) true异步请求 false 同步请求
         true异步不等请求的数据返回就向下执行  false 同步,请求的数据返回处理后,向下执行。
    4.请求的路径  项目名称网页名称最好不是中文 中文url编码   encodeURL("整个请求对象处理其中的参数")  encodeURLComponent("请求的参数")
    5.xhr是发送请求的对象,不是浏览器,F5刷新的时候,重新执行上次浏览器的请求,所以无刷新请求没有执行,重新请求的整个页面。   

     6.一个小实验在aspx页面中

      protected void Page_Load(object sender, EventArgs e)
        {
            string id=Request.QueryString["id"];
            if (id=="1")
            {
                Response.Write("1");
             Response.End();
        
            }
            else
            {
                Response.Write("3");
            }
            Response.End();
        }

    http://localhost:4398/1.aspx?&id=1&0.8486364427953959

    第一次输出this request has no response data available 

    第二次输出 1

    7 在aspx中一旦context.Response.End();后面的代码不执行,输出缓存发送到浏览器。最终正确的网页是输出缓存的内容,前台的html代码也不输出到浏览器。

  • 相关阅读:
    [LOJ2288][THUWC2017]大葱的神力:搜索+背包DP+费用流+随机化
    [省选练习]S
    [省选练习]P
    动态淀粉质(划掉)题单&简要题解
    [CF1093G]Multidimensional Queries:线段树
    [BZOJ3199][SDOI2013]escape:半平面交
    计算几何模板
    [洛谷P5106]dkw的lcm:欧拉函数+容斥原理+扩展欧拉定理
    [POJ1637]Sightseeing tour:混合图欧拉回路
    重复旋律:后缀数组+后缀自动机
  • 原文地址:https://www.cnblogs.com/ggg34674/p/3310155.html
Copyright © 2020-2023  润新知