Js实现异步刷新(原创)

          看了ajax的一些资料,稍微学到了一点东西,于是写出来与大家分享,由于读的资料比较少和自己的看法可能不全面,再加上自己的拙笔,如果不小心写错,还请大家

    谅解

    一.ajax理论叙述

          ajax并不是一个新技术,它只是几项技术的巧妙组合,让它们协同发挥作用,从而达到异步刷新的效果,实际上就是不用刷新页面就能实现与服务器的交互。这一特点

    要归功与XMLHTTP组件和XMLHttpRequest对象.

         异步更新原理:用XMLHTTP发送请求得到服务器端应答数据,在不重新载入整个页面的情况下,用js操作Dom最终更新页面

        ajax历史介绍:最早应用于XMLHTTP的是微软,IE(IE5,IE6)通过允许开发人员在web页面内部使用XMLHTTP Active组件扩展自身的功能,这样以来,开发人员就可以

    不用从当前页面导航而直接向服务器传输数据或者从服务器上获得数据。Mozilla,Konqueror,Opera等的回应是:创建它自己的继承XML代理类--XMLHttpRequest,对于大

    多数情况XMLHttpRequest对象和XMLHTTP组件很相似(方法和属性也类似,只是有一小部分属性不支持) .

    二.示例

 页面StartXmlHttpRequestChuanZhi.aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="StartXmlHttpRequestChuanZhi.aspx.cs" Inherits="XmlHttpRequestTest.StartXmlHttpRequestChuanZhi" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title></title>
    <script language="javascript">
    var userName;  
    var passWord;  
    var xmlHttpRequest;   
    //XmlHttpRequest对象  
    function createXmlHttpRequest(){  
        if(window.ActiveXObject){ //如果是IE
            return new ActiveXObject("Microsoft.XMLHTTP");  
        }else if(window.XMLHttpRequest){ //非IE浏览器  
            return new XMLHttpRequest();  
        }  
    }   
    function onLogin(){  
        var url = "http://localhost:1638/LoginService.aspx?username=123&password=456";
        //1.创建XMLHttpRequest组建  
        xmlHttpRequest = createXmlHttpRequest();  
          
        //2.设置回调函数  
        xmlHttpRequest.onreadystatechange = HuiDiaoFun;  
          
        //3.初始化XMLHttpRequest组建  
        xmlHttpRequest.open("post",url,true);  
          
        //4.发送请求  
        xmlHttpRequest.send(null);    
    }        
    //回调函数  
    function HuiDiaoFun(){  
        if(xmlHttpRequest.readyState == 4 && xmlHttpRequest.status == 200){
            var b = xmlHttpRequest.responseText;
            if (b == "true") {
                alert("请求数据成功!");
            }
            else {
                alert("请求数据失败!");
            }
        }  
    } 
    </script>
</head>
<body >
    <form id="form1" runat="server">
    <div>
            <input id="btnRequest" type="button" value="请求数据"  οnclick="onLogin()"/></div>
    </form>
</body>
</html>

页面LoginService.aspx

 前台:

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="LoginService.aspx.cs" Inherits="XmlHttpRequestTest.LoginService" %>

 后台:

 

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

namespace XmlHttpRequestTest
{
    public partial class LoginService : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            string username = Request.QueryString["username"].ToString();
            string password = Request.QueryString["password"].ToString();
            if (username.Trim() == "123" && password.Trim() == "456")
            {
                Response.Write("true");
            }
            else
            {
                Response.Write("false");
            }
        }
    }
}

示例说明:1.源码不再详细讲解,有疑问可以直接问百老师和谷老师。

             2.当然这里只列出了比较常用的一种与服务器交互的方式,XMLHTTPRequest还可以请求XML,txt,ashx等文件

转载于:https://www.cnblogs.com/liangjie/archive/2011/03/21/1990349.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/435149.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python压缩算法_LZ77压缩算法编码原理详解(结合图片和简单代码)

前言LZ77算法是无损压缩算法&#xff0c;由以色列人Abraham Lempel发表于1977年。LZ77是典型的基于字典的压缩算法&#xff0c;现在很多压缩技术都是基于LZ77。鉴于其在数据压缩领域的地位&#xff0c;本文将结合图片和源码详细介绍其原理。原理介绍&#xff1a;首先介绍几个专…

ARM汇编中的ldr和adr的区别及其在uboot中相关源码的分析

ARM汇编有ldr指令以及ldr、adr伪指令&#xff0c;它们都可以将标号表达式作为操作数&#xff0c;下面通过分析一段代码以及对应的反汇编结果来说明它们的区别。 ldr r0, _start adr r0, _start ldr r0, _start _start: b _start 编译的时候设置 RO 为 0x30000000&#xf…

arcgis裁剪后发现部分矢量缺失

解决办法 1.先修复几何 2.再进行裁剪 修复几何 修复的内容如下

SpringMVC上传文件以流方式判断类型附常用类型

此类中判断类型所截取的byte 长度暂不确定&#xff0c;请使用者测试过使用 packagecom.tg.common.other;importcom.tg.common.tginterface.TG_FileUpload;importjava.io.ByteArrayOutputStream;importjava.io.File;importjava.io.IOException;importjava.io.InputStream;import…

arcgis快速创建斜坡单元剖面线

本教程做出的剖面只能用作参考&#xff0c;实际工作中需要进行修改 一、数据&#xff1a; 1.斜坡单元 DEM 步骤 利用DEM做出坡向2.提取斜坡单元内部点数据 提取斜坡单元边界线数据 提取坡向数据至点属性 3.给带有剖面点的数据添加xy坐标字段&#xff0c;数据类型选择数值型 添…

ARM中的ldr指令与adr、ldr伪指令之间的区别

ARM汇编语言中有ldr指令和ldr、adr伪指令&#xff0c;他们都可以将标号表达式作为操作数。区别如下&#xff1a; ldr指令和adr、ldr伪指令的区别&#xff1a;ldr指令属于load-store指令&#xff0c;用于读取标号地址中的值&#xff1b;adr、ldr伪指令用于获取标号的地址。 adr和…

js解释器rhino查看执行环境

rhino是一个Mozilla的开源的由java写的javascript解释器。 文档地址 https://developer.mozilla.org/en/Rhino_documentation 安装方法 http://www.terminally-incoherent.com/blog/2008/01/08/rhino-scripting-java-with-javascript 安装。 ubuntu下直接 sudo apt-get insta…

mapgis转arcgis数据后发现属性表内没有数据

示例&#xff1a; 编辑点属性结构 将注释赋为属性

对python生态系统的认识_SAS,R与Python的区别详细对比

本文概述在本主题中, 我们将比较这三种语言的各个方面, 以使你对这些语言的市场价值和功能有清晰的认识, 以便你可以选择可以向前发展的语言。众所周知, 要学习数据分析, 可以使用三种重要的语言, 分别是Python, R和SAS。如果你是数据科学界的新手, 并且没有上述任何一种语言的…

ARM汇编ADR,LDR等伪指令

arm中LDR伪指令与LDR加载指令LDR伪指令的形式是“LDR Rn&#xff0c;expr”。下面举一个例子来说明它的用法。 COUNT EQU 0x40003100 …… LDR R1&#xff0c;COUNT MOV R0&#xff0c;#0 STR R0&#xff0c;[R1] COUNT是我们定义的一个变量&#xff0c;地址为0x40003100.这中定…

分享50款非常漂亮的桌面壁纸

我喜欢根据季节更换桌面壁纸&#xff0c;换上一张清爽的桌面壁纸&#xff0c;心情也会变得舒畅。所以&#xff0c;今天我为大家收集了一批夏天壁纸&#xff0c;虽然夏天还未到来&#xff0c;不过这些壁纸真的非常漂亮&#xff0c;尽情欣赏吧。 &#xff08;编译来源&#xff1a…

获取字段 命名空间和类_系统架构之命名规范

数据库设计规范表设计规范表名全部小写&#xff0c;单词间通过_间隔主键命名为id&#xff0c;类型为Long&#xff0c;长度为20位&#xff0c;非自增2. 外键及索引命名规范唯一索引&#xff1a;ux_表名_索引字段。如&#xff1a;ux_resource_code普通索引&#xff1a;ix_表名_索…

arcgis创建剖面线execl文件

如何快速创建剖面线&#xff0c;参考https://blog.csdn.net/qq_39397927/article/details/118730100 由于创建完的剖面线不带有野外编号&#xff0c;所以我们需要进行空间连接&#xff0c;因为斜坡单元转点后的数据是具有编号&#xff0c;所以进行空间连接将斜坡编号赋值给剖面…

VMWare网络设置的3中方式

一 VMware网络设置的三种方式 1 Host-only连接方式 让虚机具有与宿主机不同的各自独立IP地址&#xff0c;但与宿主机位于不同网段&#xff0c;同时为宿主主机新增一个IP地址&#xff0c;且保证该IP地址与各虚机IP地址位于同一网段。最终结果是新建了一个由所有虚机与宿主主机…

跨行取款费用银行|工行|建设|农行|中行|各大银行

跨行ATM 跨行取款费用 中行&#xff08;中国银行&#xff09;&#xff1a;同城跨行4元/笔&#xff1b;省内跨行9元/笔&#xff1b;省外跨行12元/笔&#xff1b;境外15元/笔。 建行&#xff08;建设银行&#xff09;&#xff1a;同城跨行收取2元/笔&#xff0c;异地跨行(省内/…

arcgis计算地形起伏度

不懂的方面请进群询问

Ubuntu中用gedit保存文件失败的解决办法

1、Ubuntu中用gedit编辑文件后不能保存 这是因为没有相关文件的写权限&#xff0c;更改文件权限使用chmod命令&#xff0c;参见P289 2、Ubuntu中用gedit保存文件时&#xff0c;提示要生成备份文件&#xff0c;但又提示备份文件无法写入 用ls -l命令查看文件的权限发现&#xff…

由于在客户端检测到一个协议错误_TLS协议的分析

TLS概述TLS&#xff08;传输层安全性&#xff09;协议基于SSL&#xff08;安全套接字层&#xff09;协议&#xff0c;该协议最初由Netscape开发&#xff0c;用于增强Internet上的电子商务安全性。SSL是在应用程序级实现的&#xff0c;直接位于TCP&#xff08;传输控制协议&…

oracle 9i从入门到精通读书笔记2

第二章&#xff1a;PL/SQL基础 2.1 PL/SQL程序结构 2.1.1 PL/SQL块的类型 所有的PL/SQL程序都是以块作为基本单位&#xff0c;以及都是由块组成的。 这些块可以是按顺序出现的&#xff0c;也可以是嵌套的 块可以根据其带名称和不带名称以及在数据库中的存储方式分为以下类型&am…