web全栈架构师[笔记] — 02 数据交互
数据交互
一、http协议
- 基本特点
- 1、无状态的协议
- 2、连接过程:发送连接请求、响应接受、发送请求
- 3、消息分两块:头、体
- http和https
二、form
- 基本属性
- action——提交到哪儿
- method——GET/POST/PUT/DELETE/HEAD
- GET:获取数据、把数据放在url里面传输、数据量很小、有缓存
- POST:发送数据、把数据放在body里面传输、数据量大、不会缓存
- PUT:发送数据
- DELETE:删除数据
- HEAD:让服务器之发送头回来就行(不需要内容)
- name:提交数据的名字
- enctype
application/x-www-form-urlencoded
:默认值,适合发送小数据,结构名字=值&名字=值&...
multipart/form-data
:文件上传、大数据,结构分块
text/plain
三、ajax
原理
XMLHttpRequest
,不兼容IE6- 1.创建对象
- 2.连接
- 3.发送
- 4.接受
function ajax (){
2 // 1.创建对象
3 let xhr = new XMLHttpRequest();
4 // 2.连接
5 /*
6 * open(method,url,async):规定请求的类型、URL 以及是否异步处理请求
7 * method:请求的类型;GET 或 POST
8 * url:文件在服务器上的位置
9 a * sync:true(异步)或 false(同步)
10 */
11 xhr.open('GET','./data/1.txt',true);
12 // 3.发送
13 /*
14 * send(string):将请求发送到服务器
15 * string:仅用于 POST 请求
16 *
17 * setRequestHeader(header,value):向请求添加 HTTP 头
18 * header: 规定头的名称
19 * value: 规定头的值
20 */
21 xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
22 xhr.send(null)
23 // 4.接受
24 /*
25 * responseText:获得字符串形式的响应数据
26 * responseXML:获得 XML 形式的响应数据
27 *
28 * onreadystatechange:存储函数(或函数名),每当 readyState 属性改变时,就会调用该函数
29 *
30 * readyState:存有 XMLHttpRequest 的状态。从 0 到 4 发生变
31 * 0: 请求未初始化
32 * 1: 服务器连接已建立
33 * 2: 请求已接收
34 * 3: 请求处理中
35 * 4: 请求已完成,且响应已就绪
36 *
37 * status
38 * 200: "OK"
39 * 404: 未找到页面
40 */
41 xhr.onreadystatechange = function () {
42 if (xhr.readyState == 4) {
43 if (xhr.status>=200 && xhr.status<300 || xhr.status == 304) {
44 alert(xhr.responseText)
45 }else{
46 alert('error:'+xhr.status)
47 }
48 }
49 }
50 }原生ajax
优点
- 用户体验好
- 性能高
安全
- 前台没有安全性,后台才有问题(注入)
- xss——跨站脚本攻击
ajax 2.0
- FormData
- 文件上传、上传进度监控
- CORS跨域
四、jsonp
- 原理
五、websocket
web全栈架构师[笔记] — 02 数据交互的更多相关文章
- web全栈架构师[笔记] — 03 html5新特性
HTML5新特性 一.geolocation PC端 精度比较低 通过IP库定位 移动端 通过GPS window.navigator.geolocation 单次 getCurrentPositio ...
- web全栈架构师[笔记] — 01 ECMAScript6新特性
ES6新特性 一.变量 var:重复定义不报错:没有块级作用域:不能限制修改 let:变量,不能重复定义,有块级作用域 const:常量,不能重复定义,有块级作用域 二.函数/参数 箭头函数——简写: ...
- 2019最新WEB全栈架构师第八期视频教程
下载链接:https://www.yinxiangit.com/117.html
- 22期老男孩Ptython全栈架构师视频教程
老男孩Ptython全栈架构师视频教程 Python最新整理完整版22期视频教程 超60G课程容量<ignore_js_op> <ignore_js_op> <ignor ...
- 添物零基础到大型全栈架构师 Java实战及解析(实战篇)- 概述
实战篇是在基础之上,进一步提升的内容.通过实战篇可以深入理解Java相关框架和库的使用,能够独立开发小模块,或者按照架构师的指导进行代码编写和完善. 主要讲解核心框架和库的使用和使用场景介绍.通过 ...
- Kubernetes全栈架构师(基本概念)--学习笔记
目录 为什么要用Kubernetes? K8s控制节点-Master概念 K8s计算节点-Node概念 什么是Pod? 为什么要引入Pod? 创建一个Pod 零宕机发布应用必备知识:Pod三种探针 零 ...
- Kubernetes全栈架构师(Kubeadm高可用安装k8s集群)--学习笔记
目录 k8s高可用架构解析 Kubeadm基本环境配置 Kubeadm系统及内核升级 Kubeadm基本组件安装 Kubeadm高可用组件安装 Kubeadm集群初始化 高可用Master及Token ...
- Kubernetes全栈架构师(资源调度上)--学习笔记
目录 Replication Controller和ReplicaSet 无状态服务Deployment概念 Deployment的创建 Deployment的更新 Deployment的回滚 Dep ...
- Kubernetes全栈架构师(二进制高可用安装k8s集群部署篇)--学习笔记
目录 二进制高可用基本配置 二进制系统和内核升级 二进制基本组件安装 二进制生成证书详解 二进制高可用及etcd配置 二进制K8s组件配置 二进制使用Bootstrapping自动颁发证书 二进制No ...
随机推荐
- grid布局学习二之子元素(项目)
/* grid-column-start属性:左边框所在的垂直网格线 grid-column-end属性:右边框所在的垂直网格线 grid-row-start属性:上边框所在的水平网格线 grid-r ...
- Android NDK学习(六): so文件兼容之abiFilters的使用
最近项目中遇到了要使用opencv的情况,涉及到了abi兼容的选择.因为如果全部都适配的话,包很大,这样兼容那些用户数极少的cpu就很不划算,所以我只适配了armeabi-v7a这一个.但是今天在x6 ...
- Java匹马行天下——开篇
个人感言: 匹马行天下是我高中时候看过一部叫<九鼎记>的小说中的其中一个大章节标题,在整个这一章中,讲的是是主人公滕青山历经艰险,又心如磐石,一心修行,最后巅峰归来的故事.现在回想,依旧心 ...
- vue 组件发布记录
好久没做独立的 vue 组件了,最近突然想把一个常用的 vue 组件打成一个 npm 包,方便使用.好久不用,发现已经忘记环境怎么搭建.翻看以前的组件,才慢慢回想起来,中间还出现些错误.在这记录下开发 ...
- 如何在Mac下配置Github和Bitbucket的SSH
--- title: 如何在Mac下配置Github和Bitbucket的SSH date: 2017-12-23 21:10:30 tags: - Mac - Git - Github catego ...
- [每天解决一问题系列 - 0010] ADB Not Responding - Android Studio
问题描述: 最近安装了Android Studio v1.0,运行的时候老是这个错误 解决方案: 网上有人说是已经有adb的进程在运行,可是打开任务管理器,找不到对应的adb 进程. 无奈之下,想到a ...
- 如何在GooglePlay上面发布应用
上传和发布应用 注册开发者帐户后,您便可使用 Google Play 开发者控制台将应用上传到 Google Play. 访问 Google Play 开发者控制台. 点击屏幕顶部附近的添加新用户. ...
- 获取屏幕宽度,将view移出屏幕再移动回来
public class MainActivity extends AppCompatActivity { private TextView kuandu; float curTranslationX ...
- C# sqlhelper 2
using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Secu ...
- SQL优化经验总结
一. 优化SQL步骤 1. 通过 show status和应用特点了解各种 SQL的执行频率 通过 SHOW STATUS 可以提供服务器状态信息,也可以使用 mysqladmin extend ...