前端学习(二十八)es6&ajax(笔记)
ES6
let
块级作用域
const
解构赋值
字符串拼接
扩展运算符
-----------------------------------------------------------
箭头函数
function show(a){
return a;
}
↓
show=a=>a;
function show(a,b){
return a+b;
}
↓
show=(a,b)=>a+b;
function show(a,b){
alert(a+b);
}
↓
show=(a,b)=>{
alert(a+b);
}
function show(){
alert(12);
}
↓
show=()=>{
alert(12);
}
function(){
}
↓
()=>{
}
function(a,b){
}
↓
(a,b)=>{
}
------------------------------------------------------------
Map
var map = new Map() 对象
设置
map.set(key,value);
获取
map.get(key);
删除
map.delete(key);
清空
map.clear()
循环
for...of...
for(let [key,value] of map){
}
----------------------------------------------------
数组扩展方法
Array.from();
把类数组变成真正的数组
var arr = Array.from(类数组);
类数组
长得像数组,一样要用for循环遍历。
但是不能使用数组的方法
获取一组元素
arguments
------------------------------------------------------
交互
$.ajax({
url:'',
data:{
t:Math.random()
}
}).then((res)=>{
//成功
},(err)=>{
//失败
});
----------------------------------------------------
需要后台给你接口
get.php?a=xxx&b=xxx
return
number
post.php?a=xxx&b=xxx
return
number
$.ajax({
url:地址,
type:类型,
data:{}
});
========================================================
ajax原理
1.创建一个ajax对象
var oAjax = new XMLHttpRequest();
不兼容IE6
var oAjax = new ActiveXObject('Microsoft.XMLHTTP');
兼容IE6,7,8
兼容写法
if(window.XMLHttpRequest){
var oAjax = new XMLHttpRequest();
}else{
var oAjax = new ActiveXObject('Microsoft.XMLHTTP');
}
GET
2.打开连接
oAjax.open('GET',url?data,true);
生活 程序
同步 同时做多件事情 一次只能做一件事
异步 一次只能做一件事 同时进行多件事情
3.发送请求
oAjax.send();
POST
2.打开连接
oAjax.open('POST',url,true);
设置请求头部
oAjax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
3.发送请求
oAjax.send(data);
4.接收响应
oAjax.onreadystatechange = function(){
//判断ajax状态
if(oAjax.readyState==4){
//判断http状态码
if(oAjax.status>=200&&oAjax.status<300||oAjax.status==304){
成功
响应结果
oAjax.responseText
}else{
失败
}
}
}
ajax状态
0 准备成功未发送
1 发送成功
2 接收原始数据成功
3 解析原始数据成功
4 完成
ajax的核心是什么?
XMLHttpRequest
前端学习(二十八)es6&ajax(笔记)的更多相关文章
- Java开发学习(二十八)----拦截器(Interceptor)详细解析
一.拦截器概念 讲解拦截器的概念之前,我们先看一张图: (1)浏览器发送一个请求会先到Tomcat的web服务器 (2)Tomcat服务器接收到请求以后,会去判断请求的是静态资源还是动态资源 (3)如 ...
- 前端学习(三十八)vue(笔记)
Angular+Vue+React Vue性能最好,Vue最轻=======================================================Angular ...
- 前端学习(三十)es6的一些问题(笔记)
赋值表达式 document.onclick = document.onmouseover = fn; var a = b = c = d = 5; 不推荐 逗号表 ...
- 前端学习(二十九)nodejs(笔记)
后台语言 java php .Net python Node.js------------------------------------------------- ...
- 前端学习(二十六)移动端s(笔记)
===================================================弹性布局rem布局---------------------------------------- ...
- 前端学习(二十二)css3(笔记)
html5 普通: header section footer nav article aside figure 特殊: canvas video audio ...
- 前端学习(二十)jquery属性(笔记)
jq里面操作属性的方法: 设置属性: 设置一个: $(this).attr('src','img/pic2.jpg'); 设置一组: ...
- Python学习二十八周(vue.js)
一.指令 1.一个例子简单实用vue: 下载vue.js(这里实用1.0.21版本) 编写html代码: <!DOCTYPE html> <html lang="en&qu ...
- JavaWeb学习 (二十八)————文件上传和下载
在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现. 对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直接使用 ...
随机推荐
- 【串线篇】sql映射文件-分布查询(上)association 1-1
1.场景 1把钥匙带1把锁 JavaBean:private Lock lock;//当前钥匙能开哪个锁: 1). interface KeyDao: public Key getKeyByIdSim ...
- Testng报错:method-selectors?,parameter*,groups?,packages?,classes?
以上的报错信息有两种可能的原因: 1.xml的格式确实有误 2.xml的格式正确,但是工程中testng的jar包不止一个,从而导致有歧义或者冲突(这个很可能发生在同一个workspace有多个工程的 ...
- 每天一个Linux命令:locate(19)
locate locate命令 让使用者可以很快速的搜寻档案系统内是否有指定的档案.其方法是先建立一个包括系统内所有档案名称及路径的数据库,之后当寻找时就只需查询这个数据库,而不必实际深入档案系统之中 ...
- PHP curl_multi_exec函数
curl_multi_exec — 运行当前 cURL 句柄的子连接 说明 int curl_multi_exec ( resource $mh , int &$still_running ) ...
- 4412 最简Linux驱动
最简Linux驱动 必备的头文件 • Linux头文件位置– 类似#include <linux/module.h>的头文件,它们是在Linux源码目录下的include/linux/mo ...
- kafka-producer.properties
# Licensed to the Apache Software Foundation (ASF) under one or more # contributor license agreement ...
- element-ui中的loading的实际应用
实际开发中,要如何指定loading在我们想要的区域加遮罩呢? 前提: 你已经引入element-ui,如下: import ElementUI from 'element-ui' import { ...
- python中的encode()和decode()函数
前言: 我们知道,计算机是以二进制为单位的,也就是说计算机只识别0和1,也就是我们平时在电脑上看到的文字,只有先变成0和1,计算机才会识别它的意思.这种数据和二进制的转换规则就是编码.计算机的发展中, ...
- 搭建本地npm
cnpm install -g sinopia 然后执行sinopia npm set registry [url] npm adduser 然后就可以发布了 使用的时候切换registry就可以 修 ...
- mybatis如何通过接口查找对应的mapper.xml及方法执行详解
转:http://www.jb51.net/article/116402.htm 本文主要介绍的是关于mybatis通过接口查找对应mapper.xml及方法执行的相关内容,下面话不多说,来看看详细的 ...