同步访问
当客户端向服务器发送请求时,服务器在处理过程中,浏览器只能等等,效率偏低
异步访问:
当客户端向服务器发送请求时,服务器在处理过程中,客户端可以做其他的操作,不需要一直等待,效率偏高
AJAX优点
1 异步 访问
2 局部 刷新
使用场合:
1 搜索建议
2 表单验证
3 表单提交 2 AJAX的核心对象 - 异步对象(XMLHttpRequest)
1 什么是XMLHttpRequest
简称为xhr
称为异步对象,代替浏览器向服务器发送请求并接收响应
xhr 是由JS来提供
2 创建异步对象(xhr)
主流的异步对象是 XMLHttpRequest 类型的,并且主流浏览器都支持(IE7+,chrome,Firefox,Safari,Opera) 全部支持,
但在Ie低版本浏览器中(ie6以及以下),就不支持 XMLHttpRequest,需要使用 ActiveXObject()来创建异步对象 支持 XMLHttpRequest :new XMLHttpRequest()
不支持 XMLHttpRequest: new ActiveXObject('Microsoft.XMLHTTP') 3 xhr 的成员
4 AJAX的操作步骤
1 GET请求
1 创建xhr 对象
2 创建请求 - open()
3 设置回调函数 - onreadystatechange
判断状态并且接收数据
4 发送请求-send() 1 方法 - open()
作用:创建请求
语法:open(method,url,async)
method : 请求方法,取值为 'get'或'post'
url :请求地址,字符串
async:是否采用异步的方式发送请求
true: 使用异步方式发送请求
false:使用同步方式发送请求
ex:
xhr.open('get','/server',true)
2 属性 - readyState
作用:请求状态,通过不同的请求状态值来表示xhr与服务器的交互情况
由 0-4 共5个值来表示5个不同的状态
0 : 请求尚未初始化
1 :xhr已经与服务器建立连接
2 :服务器端已经开始接收请求
3 : 请求正在处理中
4 : 响应已完成
3 属性 - status
作用:表示服务器端的响应状态码
200: 表示服务器正解处理所有的请求以及给出的响应
404: 请求资源不存在
500:服务器内部错误
4 属性 - responseText
作用:服务器端的响应数据
5 事件 - onreadystatechange
作用:每当xhr的readyState属性值发生改变的时候要触发的操作 - 回调函数
在该函数中,只有当readyState的值为4并且status的值为200的时候,就可以正常的接收responseText了
6 方法 - send()
作用:通知xhr 向服务器发送请求
语法:send(body)
body:表示请求的主体
get请求:是没有请求主体的,所以body的值为null
xhr.send(null)
post请求:是没有请求主体的,所以body的位置处要表示请求数据
xhr.send('请求数据')
xhr.send('参数=值&参数=值')
2 POST 请求
1 请求提交的数据要作为 send()的参数进行提交 xhr.send('参数 = 值&参数=值')
2 修改请求消息头
在AJAX中,提交POST请求时,AJAX默认将 Content-Type请求消息头的值修改为"text/plain"了,
所以导致数据无法正常提交
解决方案:将 Content-Type的请求消息头再修改回"application/x-www-form-urlencoded"即可
xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded")
Content-Type: application/x-www-form-urlencoded

ajax _flask的更多相关文章

  1. jQuery之ajax实现篇

    jQuery的ajax方法非常好用,这么好的东西,你想拥有一个属于自己的ajax么?接下来,我们来自己做一个简单的ajax吧. 实现功能 由于jq中的ajax方法是用了内置的deferred模块,是P ...

  2. Ajax及跨域

    概念 Ajax Ajax,Asynchronous JavaScript and XML,字面意思:异步的 JavaScript 和 XML,是指一种创建交互式网页应用的网页开发技术. 用于异步地去获 ...

  3. 一个粗心的Bug,JSON格式不规范导致AJAX错误

    一.事件回放  今天工作时碰到了一个奇怪的问题,这个问题很早很早以前也碰到过,不过没想到过这么久了竟然又栽在这里. 当时正在联调一个项目,由于后端没有提供数据接口,于是我直接本地建立了一个 json ...

  4. ABP文档 - Javascript Api - AJAX

    本节内容: AJAX操作相关问题 ABP的方式 AJAX 返回信息 处理错误 HTTP 状态码 WrapResult和DontWrapResult特性 Asp.net Mvc 控制器 Asp.net ...

  5. ajax异步请求

    做前端开发的朋友对于ajax异步更新一定印象深刻,作为刚入坑的小白,今天就和大家一起聊聊关于ajax异步请求的那点事.既然是ajax就少不了jQuery的知识,推荐大家访问www.w3school.c ...

  6. 调用AJAX做登陆和注册

    先建立一个页面来检测一下我们建立的用户名能不能用,看一下有没有已经存在的用户名吗 可以通过ajax提示一下 $("#uid").blur(function(){ //取用户名 va ...

  7. Ajax 概念 分析 举例

    Ajax是结合了访问数据库,数据访问,Jquery 可以做页面局部刷新或者说是页面不刷新,我可以让页面不刷新,仅仅是数据的刷新,没有频繁的刷页面,是现在比较常用的一种方式做页面那么它是怎么实现页面无刷 ...

  8. ajax

    常见的HTTP状态码状态码:200 请求成功.一般用于GET和POST方法 OK301 资源移动.所请求资源移动到新的URL,浏览器自动跳转到新的URL Moved Permanently304 未修 ...

  9. 学习笔记之MVC级联及Ajax操作

    由于刚转型到MVC,MVC的架构模式很多不是很清楚,比如今天就想做个级联的操作,因为之前的ASP.NET的方式是通过:控件-->添加事件-->后台编写级联事件进行触发,但是这个MVC就不同 ...

随机推荐

  1. 123457---com.twoapp.shuXueYouXi---小学数学口算

    com.twoapp.shuXueYouXi---小学数学口算

  2. Java遍历日期代码

    import java.util.ArrayList; import java.util.List; public class DateTraveller { public static List&l ...

  3. iOS-常见问题(错误和警告)

    1.storyboard连线问题    产生原因:将与storyboard关联的属性删除了,但是storyboard中还保持之前所关联的属性.    解决:取消关联就没事了.     2.XXXXX ...

  4. Moq中判断方法是否被执行时,参数中有列表的情况

    如果参数中有列表,列表项为引用类型时,则会判断列表项是否为同一引用 列表本身不判断

  5. vue中使用axios下载文件,兼容IE11

    一.设置axios返回值为blob 二.使用a标签的down属性下载,如果是IE浏览器,可以使用navigator.msSaveBlob进行下载 // data的数据类型是blob downloadF ...

  6. Linux安装expect

    主要参考:https://www.cnblogs.com/zhenbianshu/p/5867440.html expect解释器 expect是一个能实现自动和交互式任务的解释器,它也能解释常见的s ...

  7. todo---jaxen

  8. ubuntu18和windows10双系统时间不同步问题(Ubuntu)

    1.安装并校准时间 sudo apt install ntpdate sudo ntpdate time.windows.com 2.写入硬件配置 sudo hwclock --localtime - ...

  9. “无法改变的设计”——浅谈Java中的final关键字

    在Java中,final关键字可以用来修饰类.变量(包括成员变量和局部变量).方法,下面从这三个方面分别说明. final方法 当一个方法被final修饰时,表明这个方法不能被子类重写. 下面程序试图 ...

  10. Druid基本配置

    最近公司要用Druid 所以看了下基本配置及配置过程中出现的问题 Druid是什么? Druid是阿里巴巴开源平台上一个数据库连接池实现,它结合了C3P0.DBCP.PROXOOL等DB池的优点,同时 ...