1
2
3
4
5
6
7
8
9
10
$.ajax({
"url":"", //访问路径
"data":"", // 需要传输的数据
"type":"", // 请求方式
"dataType":"", // 返回值类型
"success":function(obj){}, // 响应成功时的回调函数
"error":function(obj){} // 响应失败时的回调函数
});
$.get(URL,callback);
$.post(URL,data,callback);

用原生JS实现一个接口,能够用Ajax上传文件并显示上传进度,上传完成后接收一个来自服务器的json数据

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
var xhr = new XMLHttpRequest();
xhr.open('POST', 'url');
// 上传完成后的回调函数
xhr.onreadystatechange = function() {
if (xhr.status === 200) {  
console.log(xhr.responseText);
} else { 
console.log('上传出错');
}
};
// 获取上传进度
xhr.upload.onprogress = function(event) {
console.log(event.loaded)
console.log(event.total)
if (event.lengthComputable) {
var percent = Math.floor(event.loaded / event.total * 100);
doc 大专栏  AJAX学习小结ument.querySelector("#progress .progress-item").style.width = percent + "%";
// 设置进度显示
console.log(percent)
}
};
xhr.send(fd);

请简述 AJAX 及基本步骤?

简述 AJAX:AJAX即“Asynchronous Javascript And XML”(异步 JavaScript 和 XML),是指一种创建交互式网页应用的网页开发技术。通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。

Ajax应用场景

Ajax的特点在于异步交互,动态更新web页面,因此它的适用范围是交互较多,频繁读取数据的web应用。
场景1. 用Ajax进行数据验证
场景2.按需取数据
场景3.自动更新页面

AJAX的优点

  1. 通过异步模式,提升了用户体验
  2. 优化了浏览器和服务器之间的传输,减少不必要的数据往返,减少了带宽占用
  3. Ajax在客户端运行,承担了一部分本来由服务器承担的工作,减少了大用户量下的服务器负载。

    AJAX的缺点

    1.ajax不支持浏览器back按钮。
    2.安全问题 AJAX暴露了与服务器交互的细节。
    3.对搜索引擎的支持比较弱。
    4.破坏了程序的异常机制。
    5.不容易调试。
    6.跨域请求有一定限制。解决方式:jsonp。

    readyState属性状态

    有5个可取值: 0=未初始化 ,1=正在加载 2=已加载,3=交互中,4=完成

    AJAX请求中,readyStatus的状态有哪些

    0: 未打开, open()方法未调用。
    1: 未发送, send()方法未调用。
    2: 已获取响应头, send()方法已被调用,响应头和响应状态已经返回。
    3: 正在下载响应体, responseText已经获取了部分数据。
    4: 请求完成,整个请求过程结束了。

    AJAX 基本步骤:

    //初始化ajax对象
    var xhr = new XMLHttpRequest();
    //连接地址,准备数据
    xhr.open(“方式”,”地址”,是否为异步);
    //接收数据完成触发的事件
    xhr.onload =function(){}
    //发送数据
    xhr.send();

    AJAX的交互模型

    ajax的工作原理相当于在用户和服务器之间加了一个中间层,使用户操作与服务器响应异步化。它在客户端创建Ajax引擎,把传统方式下的一些服务器担负的工作转移到客户端,便于客户端资源来出来,减轻服务器和带宽的负担。

AJAX学习小结的更多相关文章

  1. flex学习小结

    接触到flex一个多月了,今天做一个学习小结.如果有知识错误或者意见不同的地方.欢迎交流指教. 画外音:先说一下,我是怎么接触到flex布局的.对于正在学习的童鞋们,我建议大家没事可以逛逛网站,看看人 ...

  2. Python 学习小结

    python 学习小结 python 简明教程 1.python 文件 #!/etc/bin/python #coding=utf-8 2.main()函数 if __name__ == '__mai ...

  3. react学习小结(生命周期- 实例化时期 - 存在期- 销毁时期)

    react学习小结   本文是我学习react的阶段性小结,如果看官你是react资深玩家,那么还请就此打住移步他处,如果你想给一些建议和指导,那么还请轻拍~ 目前团队内对react的使用非常普遍,之 ...

  4. Ajax学习心得

    Ajax学习心得 大致学了下Ajax,才知道它不是某种编程语言,而是一种在无需加载整个页面的情况下能够更新部分网页的技术.了解了它的功能后觉得这真是一种好的技术,这得给前端和运维省多少力啊! 传统的网 ...

  5. objective-c基础教程——学习小结

    objective-c基础教程——学习小结   提纲: 简介 与C语言相比要注意的地方 objective-c高级特性 开发工具介绍(cocoa 工具包的功能,框架,源文件组织:XCode使用介绍) ...

  6. pthread多线程编程的学习小结

    pthread多线程编程的学习小结  pthread 同步3种方法: 1 mutex 2 条件变量 3 读写锁:支持多个线程同时读,或者一个线程写     程序员必上的开发者服务平台 —— DevSt ...

  7. AJax 学习笔记二(onreadystatechange的作用)

    AJax 学习笔记二(onreadystatechange的作用) 当发送一个请求后,客户端无法确定什么时候会完成这个请求,所以需要用事件机制来捕获请求的状态XMLHttpRequest对象提供了on ...

  8. ExtJs学习笔记之学习小结LoginDemo

    ExtJs学习小结LoginDemo 1.示例:(登录界面) <!DOCTYPE html> <html> <head> <meta charset=&quo ...

  9. 点滴的积累---J2SE学习小结

    点滴的积累---J2SE学习小结 什么是J2SE J2SE就是Java2的标准版,主要用于桌面应用软件的编程:包括那些构成Java语言核心的类.比方:数据库连接.接口定义.输入/输出.网络编程. 学习 ...

随机推荐

  1. Intellij IDEA中mybatis-generator自动生成

    一.在maven工程中的resource中创建generatorConfig.xml 二.配置generatorConfig.xml: <?xml version="1.0" ...

  2. Macroevolution|Silent changes|CNEs|Transposable elements|Neutral sites

    Interspecies genomic comparison 因为脊椎动物诞生早,在演化过程中有Macroevolution(因为自然选择或遗传漂变导致持续突变同时表型发生改变),但是存在一种基因缺 ...

  3. Opencv笔记(六)——把滑动条当调色板

    学习目标: 学会把滑动条绑定到 OpenCV 的窗口. 学习函数:cv2.getTrackbarPos(), cv2.creatTrackbar()等. 简单演示: 通过调节滑动条来设定画板颜色.我们 ...

  4. 关于ping命令的批处理问题

    需求描述:假设你的IP保存在名字为IP.txt的文本文档里,且每行一条ip.你想ping这些IP并得到结果 解决方案:用下面的批处理代码即可实现,将下面的代码保存为后缀为.bat的文件,比如test. ...

  5. 引力波的绘制(python)

    import numpy as np import matplotlib.pyplot as plt from scipy.io import wavfile rate_h,hstrain = wav ...

  6. 关于guava实现线程池

    private ListeningExecutorService executorService = MoreExecutors.listeningDecorator(Executors.newCac ...

  7. 38)PHP,获取数据库数据并在html中显示(晋级5)

    还有一个加了单例模式的,在第52个. 首先是我的文件关系: 我的主php文件是index.php,我的配置文件php是BBB.php  我的数据库操作文件是  b.php    我的html文件是lo ...

  8. 系统学习javaweb3----HTML语言3(结束)

    说明:昨天是北方小年,需要做的事情有点多,需要祭灶,扫尘.包饺子,吃糖瓜儿,学习时间有点少,所以今天将两天的知识综合一下发出. 自我感觉:虽然感觉大致都了解了HTML语言,但是感觉自己面对程序还是无从 ...

  9. 65)PHP,跨脚本周期存变量(会话技术)

    (1)写入变量,常量,全局变量都不行, (2)试一下用文件存那个变量: 但是有一个问题:就是文件,只要一个用登陆成功了,其余的所有用户都可以直接用那个登录许可的标志了,然后只要用户名和密码登录成功,那 ...

  10. springboot学习笔记:6.内置tomcat启动和外部tomcat部署总结

    springboot的web项目的启动主要分为: 一.使用内置tomcat启动 启动方式: 1.IDEA中main函数启动 2.mvn springboot-run 命令 3.java -jar XX ...