最近开始了ajax的学习,为了巩固复习所学知识,我准备将他们总结一下,以方便我的学习。大家也可以共同进步,互相学习。
首先我们要清楚一件事,ajax到底是什么?
Ajax 不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的Web应用程序的技术。
第一个知识点:
http 请求过程
1.建立tcp网络连接
2.客户端:发送请求头+请求体
3.服务端:返回响应头+响应体
4.断开tcp网络连接
5.浏览器渲染响应体
第二个知识点:
请求组成部分
1.请求行 :又分为请求方法和Http协议版本
2.请求头
3.空行
4.请求体
响应组成部分
1.状态行: 又分为http协议版本,状态码,状态消息
接下来我给大家列出来一些比较常见的状态码
200 | 请求成功 |
301 | 永久移动到新的位置 |
404 | 请求失败 |
500 | 服务器遇到未知的错误 |
503 | 服务器由于临时的服务器过载或者是维护,无法解决当前的请求 |
507 | :服务器无法存储完成请求所必须的内容 |
2.响应头
3.空行
4.响应体
第三个知识点:
ajax步骤
1.创建 var xhr=newXMLHttpRequest()
2.打开 xhr.open(“post”,url)
3.发送 设置请求头 xhr.setRequestHeader(‘Content-Type’,
‘application/x-www-form-urlencoded’);
xhr.send(data)
4.监听 xhr.onreadystatechange=function(){if(xhr.readyState=4&&xhr.status=200){xhr.responseText}; }
第四个知识点:
json
1.字符串转js JSON.parse(str)
2.js对象转json字符串 JSON.stringify(obj)
3.json字符串是JavaScript对象格式表示的一种字符串(本质就是字符串)
4.{“key”:“value”} key必须双引号包裹 value值:布尔,null,undefined,string,Number,Array,Object(没有函数)
第五个知识点:
文件的上传
1.获取文件 var file=document.getelementByid(xxx). files[0] var form=new FormData(); form.append(“file”,file);
2. ajax xhr =new XMLHttpRequest(); xhr.open(“POST”,url) xhr.send(form); xhr.onreadystatechange=function(){}
第六个知识点:
xhr对象
1.readystate 准备状态
0 | 未初始化 |
1 | 未发送 |
2 | 未响应 |
3 | 部分响应 |
4 | 响应完成 |
2.responseText 响应的文本
3.status 状态 200成功
4.onreadystatechange 监听状态变化
第七个知识点:
请求方法
1.POST
2.GET
POST与GET的区别
post | get |
修改增加服务器数据 | 通常向服务器获取数据 |
请求参数在地址栏不可见 | 在地址栏显示请求参数 |
不可以缓存与收藏书签 | 可以缓存与收藏书签 |
理论上向服务器传输数据没有限制 | 最多向服务器传参2k |
3.put 添加
4.delete 删除
5.head 只发请求头
6.options 选项
7.trace 回显
8.connect 管道
第八个知识点:
JQ中的ajax
1.jq中ajax底层都来自$.ajax() 分三层
2.顶层
.load(url) | 把加载的内容放到jq节点中 |
$.getscript(url) | 动态加载JavaScript并执行 |
$.getJSON(url) .then(function(res){ }) | 加载json数据,res就是动态加载的json内容 |
2.中层
$.get(url) .then(function(res){}) | url请求的地址 |
$.post(url,data) .then(function(res){}) | data请求的数据 |
3.基层
$.ajax({url:“请求的地址”,data:“请求的数据”,method:“请求方法,post,get”,success:成功请求的回调函数,error:失败请求回调,complete:成功失败都执行}) .then(function(res){成功后的回调}) .catch(function(err){失败后的回调})
这些只是最近的学习成果,日后学到新的知识也会继续总结,与君共勉
一、Python所有方向的学习路线
Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、学习软件
工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。
三、入门学习视频
我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!