为了账号安全,请及时绑定邮箱和手机立即绑定

【学习打卡】第10天 前端工程师2022版 JSON第一讲

标签:
JavaScript

课程名称:前端工程师2022版

课程章节: json

主讲老师:alex

课程内容:

今天学习的内容包括:

json常用方法、跨域、xhr常用方法

课程收获:

5.JSON(JavaScript Object Notation)

5.1json注意事项:必须双引号、无undefined、不能写注释

5.2三种形式

简单值形式:1,"str"

对象形式:{"name":"张三","age":{"age1":"2"}}

数组形式:[1,"str",{"name":"zhangsan"}]

5.3常用方法

JSON.parse()

JSON.stringify()


6.跨域(重点)(不同url)

6.1同域:协议、域名、端口号都一样

6.2跨域请求为什么被阻止?

 阻止跨域请求是浏览器的一种安全策略(同源策略)

6.3跨域解决方案

6.3.1CORS(跨域资源共享)(优先考虑)

6.3.1.1是什么:后端响应时在头部添加,设置Access-Control-Allow-Origin:* (允许所有域名请求它,设置指定的域名将*改为指定url即可)

6.3.1.2过程:浏览器发请求、服务器响应请求、同域浏览器不处理,跨域浏览器先判断呢响应头中是否包含Access-...包含该域名,不包含浏览器丢弃响应结果

6.3.1.3CORS兼容性:兼容IE10及以上版本


6.3.2JSONP

6.3.2.1是什么:script标签跨域不会被浏览器阻止,利用script标签、加载跨域文件

6.3.2.2实现跨域:服务器准备好JSONP接口(http://.../api/http/jsonp?callback=handleResponse)

手动加载:<script class="lazyload" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" data-original="http://..."></script>

动态加载:const script=docment.createElement('script')

  script.src = 'http://...'

  

7.xhr的属性

7.1responseType和response

responseType:在xhr.open()后设置 xhr.responseType = 'text'或'json'等 //默认为空

response:响应内容,以上面设置的responseType格式输出 (兼容性较差,只支持IE10以上)

responseText:文本格式的响应内容(只有当responseType为text或空才能使用,否则会报错)

7.2timeout

xhr.timeout = 10 //毫秒,在open后设置,IE8以上支持

7.3withCredential

指定ajax发送请求时是否携带Cookie

默认情况:同域带cookie,跨域不带;跨域可设置withCredential=true;最终能否跨域带cookie还得看服务器同不同意


8.xhr的方法

xhr.abort() //终止当前请求

xhr.setRequestHeader(字段名,字段值) //只能设置部分请求头信息

xhr.setRequestHeader('Content-Type','application/json') //Content-Type字段用来告知服务器,浏览器发送的数据格式,post才需要设置

点击查看更多内容
1人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消