同步访问
当客户端向服务器发送请求时,服务器在处理过程中,浏览器只能等等,效率偏低
异步访问:
当客户端向服务器发送请求时,服务器在处理过程中,客户端可以做其他的操作,不需要一直等待,效率偏高
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. 如何让在panel里的子窗体随panel的大小改变而变化?(转)

            private void Form1_Load(object sender, EventArgs e)         {             frm=new Form2();   ...

  2. LeetCode_168. Excel Sheet Column Title

    168. Excel Sheet Column Title Easy Given a positive integer, return its corresponding column title a ...

  3. 基于JAVA JWT 实现OATUH TOKEN验证

    什么是jwt? 最详细的是官网:https://jwt.io/ 这里以java的ssm框架为例,集成jwt. 1.pom.xml 导入jwt的包 <!-- jwt --> <!-- ...

  4. Linux nohup和&后台运行,进程查看及终止,进程信息输出,控制台信息输出

    nohup和&后台运行,进程查看及终止   1.nohup 用途:不挂断地运行命令. 语法:nohup Command [ Arg … ] [ & ] 无论是否将 nohup 命令的输 ...

  5. Xena L23网络测试仪Valkyrie使用技巧100例:修改设备管理IP,设备关机 (编号01)

    Xena Valkyrie产品提供100M~400Gbps全速率接口速率支持 产品链接 https://xenanetworks.com/valkyrie/ 需求# 1.多个用户如何共享使用一个机箱? ...

  6. Mybatis映射文件sql语句注意事项

    1.插入

  7. 《ucore lab1 exercise3》实验报告

    资源 ucore在线实验指导书 我的ucore实验代码 题目:分析bootloader进入保护模式的过程 BIOS将通过读取硬盘主引导扇区到内存,并转跳到对应内存中的位置执行bootloader.请分 ...

  8. 基于.Net Standard开发的微信服务端开源库

    一直想做一个开源库, 为社区贡献一份力量, 同时提高一下自己 一年来在给公司做一款微信小程序, 于是突发奇想用.Net Standard做一整套微信开发服务端类库 地址: https://gitee. ...

  9. [官网]Windows 10 版本信息

    对应于服务选项的 Windows 10 当前版本 https://docs.microsoft.com/zh-cn/windows/release-information/ 所有的日期都按照 ISO ...

  10. Win7 JavaEE 安装

    新建四个目录 D:\ApacheServer\eclipse 存放eclipse D:\ApacheServer\jdk jdk安装目录 D:\ApacheServer\apache-tomcat 存 ...