例子:实现AJAX效果(投票例子)
后端代码
前端代码
原理是使用HTTP状态码204的特性(请求成功,但是不会返回内容,所以浏览器不会进行跳转)
例子:实现AJAX效果(投票例子2)
前端代码
原理是利用img,script等标签加载内容的特性
例子:实现AJAX效果(注册例子)
前端代码
后端代码
原理是利用iframe特性,将表单的target指向iframe后,服务器打印出来的内容会输出在iframe中
AJAX(XMLHttpRequest对象)
例子:发送GET请求
通过XMLHttpRequest对象还可以获取到响应信息里的内容
例子:发送POST请求
AJAX返回值类型
在AJAX1.0版本中AJAX的返回类型只有text和xml这两种类型
服务端返回xml数据处理
(1) 服务器响应的xml数据
(2)对xml数据进行处理
(3)处理后的xml数据
服务端返回json数据处理
(1) 服务器响应的json数据
(2) 对json数据进行处理
(3) 处理后的json数据
跨域问题
什么是跨域,跨域就是浏览器为了安全而不让不同域名之间可以进行消息通信,例如:<a>
,<script>
,<link>
,<img>
标签就能进行跨域,从其他域名网站中获取到数据。有时候我们异步到其他网站进行数据通信,这时候我们就能使用jsonp来解决,jsonp并不是什么特殊的技术,而是通过<script>
能够跨域的特性,发送数据到服务器,服务器处理完数据后,返回一段JavaScript代码,通过这段代码调用本地写好的回调函数。
例子:jsonp
后端代码
前端代码
HTML5与AJAX
一般情况下有三种异步文件上传方式
(1)使用iframe上传文件 (2)使用flash上传文件 (3)使用HTML5的新API上传文件例子:使用iframe上传文件
使用iframe上传文件大致分为以下几个步骤
(1)监听表单提交事件 (2)当表单提交时创建一个iframe,然后将表单的target指向iframe (3)服务器上传成功后返回一段JavaScript代码,用于操作父页面的内容 前端代码后端代码
例子:使用HTML5的FromData
前端代码
提交到后端的数据
例子:使用HTML5实现文件上传
前端代码
后端代码
上传后打印出来的信息
上传前
上传后
例子:利用xhr2新特性实现跨域
在HTML5中,AJAX的跨域有了新的规则,能否实现跨域取决于服务器的应答,服务器可以在响应的头信息中加上Access-Control-Allow-Origin这个header,它的值既可以是域名也可以是(表示任意的域名)
例子:利用xhr2新特性实现大文件切割上传
后端代码
前端代码
例子:长连接技术
长连接技术主要是利用HTTP协议的特性,通过不给content-length指定长度,让HTTP连接一直不断开,实现单向长连接,使得服务器可以向浏览器一直推送消息,所以长连接技术也叫做服务器推技术。由于建立长连接会造成阻塞,所以长连接一般会配合iframe来使用。
后端代码
浏览器中显示的效果