js-权威指南学习笔记18
1、除mouseenter和mouseleave外的所有鼠标事件都能冒泡。
2、传递给鼠标事件处理程序的事件对象有clientX和clientY属性,它们制订了鼠标指针相对于包含窗口的坐标。
3、一个keypress事件表示输入的单个字符,事件对象以Unicode编码的形式指定字符,所以必须用String.fromCharCode()把它转换成字符串。
4、可以通过取消textinput、textInput、keypress事件来阻止字符输入,这意味着可以用这些事件来过滤输入。
第18章 脚本化HTTP
1、术语Ajax描述了一种主要使用脚本操纵HTTP的Web应用架构。
2、在Ajax中,客户端从服务端拉数据,而在Comet中,服务端向客户端推数据。
3、<script>元素有规避同源限制的能力(JSONP)。
4、一个HTTP请求由4部分组成:1、HTTP请求方法或动作。2、正在请求的URL。3、一个可选的请求头集合,其中可能包括身份验证信息。4、一个可选的请求主体。
5、服务器返回的HTTP响应包含3部分:1、一个数字和文字组成的状态码,用来显示请求的成功和失败。2、一个响应头集合。3、响应主体。
6、GET用于常规请求,他适用于当URL完全指定请求资源,当请求对服务器没有任何副作用以及当服务器的响应是可缓存时。POST方法常用于HTML表单,它在请求主体中包含额外数据且这些数据常存储到服务器的数据库中(副作用)。
7、HTTP请求的各部分有指定顺序:请求方法和URL首先到达,然后是请求头,最后是请求主体。
8、为了监听readystatechange事件,把事件处理函数设置为XHR对象的onreadystatechange属性。
9、异步处理HTTP响应是最好的方法,然而,XHR也支持同步响应。如果把false作为第三个参数传递给open(),那么send()方法将阻塞直到请求完成。避免使用。
10、测试withCredentials的存在性是测试浏览器是否支持CORS的一种方法。
11、使用<script>元素作为Ajax传输的技术成为JSONP,若HTTP请求所得到的响应数据是经过JSON编码的,则适合使用该技术。