seo不友好(搜索引擎搜索不到关键字)
1.创建ajax对象
//可以在点击事件里面创建
const xhr=new XMLHttpRequest();
2.发送请求
//请求方法 第一个参数 请求方式第二个是请求路径
//初始化请求
//同源策略可以省略协议和域名,发送时会自动添加上
//xhr.open(‘GET’,‘/server’);
xhr.open(‘GET’,‘http://127.0.0.1:8000/server’);
//发送请求
xhr.send();
//on 当
//readystate是xhr对象的属性,表示状态的意思,有五个值
//change 改变的意思
//0:未初始化 1:open方法调用完毕 2:send方法调用完毕 3:服务端返回了部分的结果 4:服务端返回所有结果
//会触发四次
xhr.onreadystatechange=function(){
//当结果全部返回的时候且状态码为200
if(xhr.readyState=4&&xhr.status=200){
console.log(xhr.status) //状态码
console.log(xhr.statusText)//状态码字符串
console.log(xhr.getAllResponseHeaders()) //所有响应头
console.log(xhr.response) //所有响应体
}
}
3.get请求参数
//?号后面写参数 用&符号分隔 键值对方式
xhr.open(‘GET’,‘http://127.0.0.1:8000/server?a=100&b=200’);
//可以在 query String Parameters 里面做一个请求参数预览
4.post请求发送
//请求方式都为大写
xhr.open(‘POST’,‘http://127.0.0.1:8000/server’);
//send里面不仅仅可以发送请求,还可以携带参数发送
xhr.send(‘a=100&b=200’)
5.设置请求头信息
//一般采用预定义请求头信息,如果需要设置自定义请求头则需要在服务器端开启允许设置自定义请求头
//content-type 是设置请求体内容类型 固定写法
xhr.setRequestHeader(‘Content-Type’,‘application/x-www-form-urlencoded’);
//自定义请求头信息
//需要在后端开启允许设置自定义请求头
//第一个参数是name 第二个是值
xhr.setRequestHeader(‘name’,‘1’);
6.对返回json参数进行操作
//后端不支持接受对象,所以采用发送字符串的方式
//可以调用json方法
//对返回的参数进行操作
JSON.parse(参数)
//设置对json数据自动转换
设置响应体数据类型
xhr.responseType=‘json’;
BUG ie缓存问题
//问题:ie浏览器,发送请求会存在缓存,下次请求新的数据返回但还是旧的数据
//解决方案:可以在接口请求参数后面添加当前时间戳 Date.now()
xhr.open(‘POST’,'http://127.0.0.1:8000/server?t='Date.now);
7.超时与网络异常响应
//用于网络请求超时和网络异常给用户的提醒比较友好
//请求超过2秒就自动取消
xhr.timeout=2000;
//超时回调
xhr.ontimeout=function(){
alert(‘网络超时’)
}
//网络异常操作
xhr.οnerrοr=function(){
alert(‘网络异常’)
}
8.手动取消请求
//取消请求
xhr.abort();
重复发送问题解决
//可以通过标识变量进行判断,发送请求改成false,发送成功在改回true
//也可以通过判断标识是否取消请求
以上是原生发送的请求,下面介绍的是前端常用框架发送请求
第一个框架:jquery 基于回调函数进行发送请求
//第一个是路径 第二个是数据 第三个是回调函数 第四个是设置响应体方法
//get请求
$.get(‘http://127.0.0.1:8000/jquery’,{a:100},function(res){
console.log(res)
},‘json’)
//post
$.post(‘http://127.0.0.1:8000/jquery’,{a:100},function(res){
console.log(res)
})
//jquery通用方法 post还可以设置请求体
$.ajax({
//url
url:‘http:127.0.0.1/scfe’,
//类型
type:‘GET’,
//请求头信息
headers:{
a:100,b:200
},
//响应体结果类型
dataType:“json”,
//数据
data:{},
//成功回调
success:function(){},
//超时时间
timeout:2000,
//失败回调
error:function(){}
})
Axios 库发送ajax请求,是目前最为热门的,是vue和react最为推荐的
基于promise发送请求
可以安装也可以在线链接引用
npm i axios
配置baseURL
axios.defaults.vaseURL=‘http://127.0.0.1:8000’;
//配置过后,axios请求每次都会在前面加上这个,后面直接写接口名称就行
发送请求
//get请求 第一个参数是url 第二个是data
axios.get(‘/server’,{
//url参数
params:{
a:100,b:200
},
//请求头信息
headers:{
name:‘100’,
age:‘200’
}
//.then查看是否发送成功
}).then(res=>{
console.log(res)
})
//post发送请求 第一个路径 第二个请求体 第三个其他选项
axios.post(‘/server’,{user:“112”,age:“21”},{
//url参数
params:{
a:100,b:200
},
//请求头信息
headers:{
name:‘100’,
age:‘200’
}
//.then查看是否发送成功
}).then(res=>{
console.log(res)
})
//通用性方法发送请求
axios({
//请求方法
method:“POST”,
//url
url:“/sert”,
//url参数
params:{
user:‘huhu’,
age:“dd”
},
//请求头信息
headers:{
a:100,
b:200
},
//请求体信息
data:{
a:1,
b:2
}
}).then(res=>{
console.log(res)
})
ferch()函数发送ajax请求,返回一个promise对象
//第一个参数是url 第二个是配置对象
fetch(‘http://127.0.0.1:8000/sever’,{
//请求方法
method:‘POST’,
//请求头
headers:{
name:111
},
//请求体
body:‘user=1&age=2’
}).then((res)=>{
console.log(res)
//解析成json
res.json()
})
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)
最后:
总结来说,面试成功=基础知识+项目经验+表达技巧+运气。我们无法控制运气,但是我们可以在别的地方花更多时间,每个环节都提前做好准备。
面试一方面是为了找到工作,升职加薪,另一方面也是对于自我能力的考察。能够面试成功不仅仅是来自面试前的临时抱佛脚,更重要的是在平时学习和工作中不断积累和坚持,把每个知识点、每一次项目开发、每次遇到的难点知识,做好积累,实践和总结。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!**
[外链图片转存中…(img-H2OjF8Ph-1712082465708)]
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)
最后:
总结来说,面试成功=基础知识+项目经验+表达技巧+运气。我们无法控制运气,但是我们可以在别的地方花更多时间,每个环节都提前做好准备。
面试一方面是为了找到工作,升职加薪,另一方面也是对于自我能力的考察。能够面试成功不仅仅是来自面试前的临时抱佛脚,更重要的是在平时学习和工作中不断积累和坚持,把每个知识点、每一次项目开发、每次遇到的难点知识,做好积累,实践和总结。