远古时代的Ajax 要求:做一个在线投票,给歌手投票,要求无刷新投票,并且不允许使用XMLHttpRequest对象 分析:在XHR对象没有流行之前,我们已经有“无刷新”这种效果的要求 方法一、利用HTTP 协议 204 No content 状态码,当浏览器收到204时,页面不作跳转 方法二、利用图片加载的特性来完成请求 方法三、利用iframe的特性 Ajax注册,提交表单要求页面无刷新 总结: 在不使用XMLHttpRequest对象的情况下,我们依然可以用js来实现对后台服务器的请求,同时不带来页面的刷新或跳转 所谓Ajax: 即是指:页面不刷新的情况下,利用XMLHttpRequest发送HTTP请求。JS的网络化 思考题: Ajax上传文件能实现吗? 分析:从HTTP协议的角度来看,上传文件则要把文件的内容发送到服务器,如果可以,XMLHttpRequest对象在POST数据时,把文件的内容也发送过去 àXHR对象获取了你要上传文件内容 àjavascript读取了你本地的文件内容 à出于安全原因---js是不能够读取到文件内容的 àAjax上传文件是无法实现的 问:一些 Ajax上传插件是怎么样实现的? 1、 iframe 2、 用flash实现的,如swfupladed 3、 用html5实现(html5已经增加了文件读取api全ajax上传文件有了理论上的可能)
|