题按–在真正的Ajax
出现之前,是怎么实现类似效果的。
这几天断断续续的看完了
ajax
和http
相关的教程,查询了Wikipedia相关资料,接下来几天,整理一下。
投票需求:要求无刷新投票,并且不允许使用XMLHttpRequest对象
分析:在XHR对象没有流行之前,已经有无刷新这种效果的要求
方法一: HTTP协议204 No Content
原理:利用http 204 No Content 状态码,浏览器不会跳转
前端:
1 | <body> |
后端:
1 |
|
方法二:利用图片加载的特性,完成请求
1 | <script> |
方法三: 利用css,js加载特性,原理同上。
方法四: 利用iframe特性
Ajax注册,提交表单,页面无刷新
建议用POST
,因为get
会暴露用户信息
前端:
1 | <div id="regres"></div> |
后端:
1 | <meta charset="utf-8"> |
总结:
在不适用
XMLHttpRequest
对象的情况下,依然可以用js来实现对后台服务器请求,同时不刷新页面或跳转。
所谓Ajax:即指页面不刷新情况下,利用XMLHttpRequest
发送HTTP
请求;JS的网络化.
悄悄的发送请求,不刷新或跳转;后台能传递数据;前台假装没反应
问题:Ajax
能实现文件上传吗?
分析:从
HTTP
协议角度看,上传文件,则要把文件的内容发送到服务器;
如果可以XMLHttpRequest
对象在POST
数据时,把文件的内容也发送过去。
XHR
对象获取了你要上传 的内容JavaScript
读取本地的文件内容- 出于安全原因,js不能读取文件内容
Ajax
上传文件是无法实现的。
问题:一些Ajax
上传插件是怎样实现的?
iframe
- 用
flash
实现,如swfuploaded
- 用
HTML5
实现,已增加文件读取API
- 本文作者: Linking
- 本文链接: https://linking.fun/2016/02/26/Ajax系列一-远古时代的Ajax/
- 版权声明: 版权所有,转载请注明出处!