概念理解
1 Ajax -- 就是简单的请求后端数据的 -- 和 jsonp跨域请求是完全不同的请求方式
2 Jsonp -- 是通过script标签特性 -- 去请求其他网站资源的
3 跨域 -- 就是当前网站去访问其他网站的数据
4 为什么要有跨域 -- 浏览器对 JS 的安全限制 -- 禁止 Ajax从一个域名请求另外一个域名上的数据
5 怎么就是跨域了 -- 不同源的请求就是跨域 -- 同源指 ( 协议、域名、端口 -- 均相同)
6 除 Jsonp 外的其他处理方式 -- 处理完成后 -- 还是由 Ajax去请求数据的
7 基于 async 定义的函数内部 -- 的所有异步回调会以同步的方式去执行 -- async + await 关键字
8 跨域解决方案 -- 常见的
1 通过服务端代理请求 -- 服务区端语言是没有跨域限制
2 jsonp跨域请求 -- 前端
3 CORS 跨域资源共享(xhr2) -- W3C标准 -- 浏览器和其他网站同意你请求了就不存在跨域了
4 nginx 代理跨域
请求数据的多种方式
1 简单 Ajax请求
1 作用 -- 前端向后端发送请求, 用于前后端数据交互的接口
2 特点 -- 无需重新加载整个网页的情况下,能够更新部分网页的技术(局部刷新)
3 请求封装+接口调用 --> Tools -- JS -- data -- Ajax-基础.js
2 Ajax 嵌套请求优化
1 理解 -- 我们遇到回调嵌套 -- 请求嵌套的情况 -- 直接使用嵌套的方式去写代码是不好的 ( 不利于管理和维护)
2 解决 -- Promise 可以将异步操作以同步的流程表达出来 -- 避免了层层嵌套的回调 -- 解决了回调执行顺序问题
3 基于 promise 封装的数据请求 + 俩种调用方式 --> Tools -- JS -- data -- Ajax-Promise优化.js
3 Jsonp 跨域数据请求:
1 Jsonp 请求封装 --> Tools -- JS -- data -- Jsonp.js
2 关于Jsonp 的接口文档 -- 类似 Ajax接口文档
url地址 -- http://suggestion.baidu.com/su
-----请求参数-----
cb 回调函数 或者callback也常见
wd 关键词
-----返回数据-----
json对象格式
请求状态响应码
2开头 -- 表示成功
200 -- 表示服务器已成功处理了请求
202 -- 表示服务器已接受请求 -- 但未处理
3开头 -- 请求被重定向,要完成请求,需要进一步操作
300 – 针对请求,服务器可执行多种操作;
301 – 请求的网页已永久的移动到新的位置,服务器返回此响应时,会自动将请求转到新位置;
302 – 临时移动;
304 – 未修改;
4开头 -- 表示请求错误
400 – 语法错误,服务器无法处理;
401 – 未授权,请求要求身份验证;
403 – 服务器拒绝请求;
404 – 服务器找不到请求的网页;
405 – 禁用请求中的方法
5开头 -- 表示服务器错误,服务器在尝试处理请求时,发生内部错误
500 – 服务器遇到错误,无法完成请求;
501 – 服务器不具备完成请求的功能;
502 – 服务器作为网关或代理,从上游服务器收到无效响应;
503 – 服务器目前无法使用;
504 – 服务器作为网关或代理,没有及时从上游服务器接收到请求;
505 – 服务器不支持请求中的HTTP协议版本;
http请求步骤
1 在浏览器的 url中输入网址 --> 访问 DNS服务器 ( 解析域名对应的 IP地址 -- 公网的) -- 返回给浏览器
2 向IP地址发起 -- TCP连接 -- 成功了之后
3 http请求的内容 -- 给服务器 -- 我要请求xx页面
4 http响应 -- 服务器返回给浏览器
5 浏览器渲染并展示 HTML
6 其他知识点
1 url 的构成 -- 协议 -- 域名 -- 端口号 -- 路径 -- 参数 -- 哈希值 hash