1.DOM事件
1.select的onchange事件
当选项框中的内容发生改变时需要出发的事件。
2.Ajax
1.名词解释
1.同步
在一个任务进行中,不能开启其它的任务。
同步访问:浏览器在向服务器发送请求时,浏览器只能等待服务器的响应,不能做其它的事情。
出现场合:
1.地址栏输入网址访问页面
2.a标记的默认跳转
3.submit按钮的表单提交
2.异步
在一个任务进行中时,可以开启其它的任务
浏览器在向服务器发送请求的时候,不耽误用户在网页中做其他的操作。
出现场合:
1.股票的走势图
2.聊天室
3.用户名验证
4.建议搜索
2.什么是Ajax
1.Asynchronous Javascript And Xml
异步的 js 和 Xml
2.本质:使用js提供的异步对象(XMLHttpRequest),异步的向服务器发送请求,并接收响应回来的数据(数据格式是Xml)。
3.异步请求的步骤
1.创建Ajax异步对象(xhr)
2.绑定事件
3.打开连接
4.发送请求
4.创建异步对象(xhr)
标准创建:var xhr=new XMLHttpRequest();
IE8以下浏览器:var xhr=new ActiveXObject("Microsoft.XMLHttp");
如何判断?
通过window.XMLHttpRequest来判断浏览器是否支持标准创建。如果浏览器不支持标准创建,那么window.XMLHttpRequest的值为null。
练习:
将创建xhr对象的方法封装到独立的js文件中。
要求:判断浏览器是否支持标准创建,如果支持返回标准创建的对象,否则返回IE8以下创建的对象。
5.异步对象xhr的常用属性和方法
1.readyState属性
作用:用于表示xhr对象的请求状态
值:
0:请求尚未初始化
1:已经打开到服务器的链接,正在发送请求中
2:接收响应头
3:接收响应主体
4:接收响应数据成功
注意:当readyState的值为4的时候,才表示所有的响应都已经接收完毕。
2.status属性
作用:表示的是服务器的响应状态码
值:200 响应成功
当status的值是200的时候,表示服务器已经正确的处理请求并给出了响应。
3.onreadystatechange-事件
作用:当xhr的readyState属性值发生改变时,要自动激发的操作。
语法:
xhr.onreadystatechange=function(){
if(xhr.readyState==4&&xhr.status==200){
var result=xhr.responseText;
console.log(result);
}
}
6.打开连接open()
作用:打开连接(创建请求)
语法:xhr.open(method,url,isAsyn);
method:请求的方法(get/post)
url:请求地址(ex:http://127.0.0.1/login.php)
isAsyn:指定采用同步还是异步发送请求(true:异步,false:同步)
7.send()
作用:发送请求
语法:xhr.send(请求主体);
如果请求方法是get,没有请求主体send(null)
如果请求方法是post,则send(主体数据)

练习:
1.创建一个response.php,响应输出一句话“我的AJAX练习”。
2.创建ajax-exercise.html,在网页中添加一个按钮和div(id="show")。
3.单击按钮时,异步的向response.php发送请求,并将响应回来的数据以h1的方式显示在div中。
3.使用get方法传参给服务端
ex:
user_login.php?uname=dangdang&upwd=123456
在php中:
$_REQUEST["uname"];
$_REQUEST["upwd"];

练习1:
1.创建一个ajax-get.html
添加一个文本框(id="uname")
添加一个按钮,单击按钮时,将文本框中的数据作为参数,异步的提交给ajax-get.php文件,并且将响应的数据显示在一个div里。
2.创建ajax-get.php
接收前端传递过来的数据
将数据拼成“欢迎XXX”,再响应给浏览器。
练习2:
1.在练习1的基础上,将网页另存一份,然后在网页中添加一个密码框,将用户名和密码同时提交给服务端。
2.将练习1中的php文件另存一份,然后在php文件中同时接受前端传递过来的用户和密码,然后判断,如果用户名=dangdang,密码=123456,响应“登录成功”,否则“登录失败”。
4.使用post方法提交数据
1.提交的数据需要放在send()主体位置处
ex:
var msg="uname="+userName+"&upwd="+upwd;
xhr.send(msg);
2.设置请求的消息头
必须在发送请求之前设置消息头
xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

AJAX-DOM事件的更多相关文章

  1. 锋利的jQuery读书笔记---jQuery中Ajax--序列化元素、Ajax全局事件

    serialize()方法: 作用于一个jQuery对象,它能够将DOM元素内容序列化为字符串,用于Ajax请求. <!DOCTYPE html> <html> <hea ...

  2. jQuery操作dom事件

    参考:jQuery权威指南jQuery初步jQuery选择器jQuery操作domjQuery操作dom事件jQuery插件jQuery操作AjaxjQuery动画与特效jQuery实现导航栏jQue ...

  3. DOM 事件深入浅出(二)

    在DOM事件深入浅出(一)中,我主要给大家讲解了不同DOM级别下的事件处理程序,同时介绍了事件冒泡和捕获的触发原理和方法.本文将继续介绍DOM事件中的知识点,主要侧重于DOM事件中Event对象的属性 ...

  4. DOM 事件深入浅出(一)

    在项目开发时,我们时常需要考虑用户在使用产品时产生的各种各样的交互事件,比如鼠标点击事件.敲击键盘事件等.这样的事件行为都是前端DOM事件的组成部分,不同的DOM事件会有不同的触发条件和触发效果.本文 ...

  5. DOM事件

    在慕课网上学习了DOM事件探秘课程,特此整理了一下笔记. 慕课网DOM事件探秘课程地址:http://www.imooc.com/learn/138 事件 是文档或浏览器窗口中发生的特定的交互瞬间.[ ...

  6. 理解DOM事件流的三个阶段

    本文主要解决两个问题: 1.什么是事件流 2.DOM事件流的三个阶段 事件流之事件冒泡与事件捕获 在浏览器发展的过程中,开发团队遇到了一个问题.那就是页面中的哪一部分拥有特定的事件? 可以想象画在一张 ...

  7. 你真的了解DOM事件么?

    你真的了解DOM事件么? 我们大家都知道,人与人之间的交流可以通过语言,文字,肢体动作,面部微表情等,但是你知道Javascript和HTML之间是通过什么进行交互的么?你又知道Javascript和 ...

  8. [DOM Event Learning] Section 4 事件分发和DOM事件流

    [DOM Event Learning] Section 4 事件分发和DOM事件流 事件分发机制: event dispatch mechanism. 事件流(event flow)描述了事件对象在 ...

  9. dom事件与event对象总结

    1 事件:就是文档或浏览器窗口中发生的一些特定的交互瞬间.    tips:js和xhtml的交互是通过当用户或浏览器操作网页时发生的事件来处理的. 1.1 事件流:即事件的顺序.        事件 ...

  10. DOM事件简介--摘自admin10000

    Click.touch.load.drag.change.input.error.risize — 这些都是冗长的DOM(文档对象模型)事件列表的一部分.事件可以在文档(Document)结构的任何部 ...

随机推荐

  1. hibench 对CDH5.13.1进行基准测试(测试项目hadoop\spark\)HDFS作HA高可靠性

    使用CDH 5.13.1部署了HADOOP集群之后,需要进行基准性能测试. 一.hibench 安装 1.安装位置要求. 因为是全量安装,其中有SPARK的测试(SPARK2.0). 安装位置在SPA ...

  2. poj1733(带权并查集+离散化)

    题目链接:http://poj.org/problem?id=1733 题意:给定由0.1组成的数串长度n,询问次数m,每次询问给出a,b,s,表示区间[a,b]内1的数量为s(odd-奇数或even ...

  3. vm 克隆一台新机器启动网卡报错:device eth0 does not seem to be present, delaying initialization

    解决方案: 1. vi /etc/sysconfig/network-scripts/ifcfg-eth0 ifcfg-eth0的配置文件里保存了以前的MAC地址,就把这一行删除掉在重启网卡   2. ...

  4. JTAG-测试数据寄存器

    1.问题:JTAG中的数据寄存器的结构 JTAG标准规定了两个必须的数据寄存器: 1.旁通寄存器 2.边界扫描寄存器(已经在可测性设计-扫描通路中介绍了) 可选的的寄存器有: 1.器件标示寄存器(32 ...

  5. numpy 之矩阵的认知

    di numpy 矩阵的创建与应用 可以用np.mat(a) 将a转变成矩阵 矩阵的加减法和 array相同 矩阵的乘法,如果矩阵要相乘的话就要A矩阵的行数,和B矩阵的列数相同才可以 这是查看数组不重 ...

  6. SSRF攻击-运用gopher协议构造POST包--emmmm(http://10.112.68.215:10004/index.php?action=login)

        还是天枢的一道CTF题,启程!       分析题目,自己注册账户并登陆后,提示输入一个url,网站会自己运行查找网页信息.     emmmmm,很挑衅,网站就当作服务器,我们在url框中输 ...

  7. delete[] p与 delete p

    基本类型的对象没有析构函数,所以回收基本类型组成的数组空间用 delete 和 delete[] 都是应该可以的:但是对于类对象数组,只能用 delete[].对于 new 的单个对象,只能用 del ...

  8. python tcp 粘包问题解决、文件下载等

    from socket import * #以下是关于tcp:服务端 和 客户端的小例子#服务端socket_server = socket(AF_INET, SOCK_STREAM) socket_ ...

  9. Java VisualVM 插件地址

    打开Java VisualVM检查更新插件时,默认的连接连不上,通过浏览器访问之后发现默认的服务器已经404,新地址已经迁移到github,下面这个地址里面有不同版本jdk对应的插件中心地址. htt ...

  10. java基础之—类加载器

    要了解类加载器先要了解类的加载 一.类的加载(类的加载概述) 当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过加载,连接,初始化三步来实现对这个类进行初始化. 1.加载 就是指将clas ...