实习第二天

54 阅读2分钟

总结一下。 1.跨域问题的解决,之前就经常碰到这个问题,有时候稀里糊涂的就解决了,今天也是终于算比较全方面的了解了 为什么会出现跨域,你不能只回答端口,协议,域名不同,一定要点出是浏览器为了安全阻止的跨域请求,跨域重点要搞清楚资源在哪,当使用框架如vue 执行npm run dev之后,该框架会开启一个本地服务器比如地址为http://localhost:8888/ 会把你项目中前端的资源放在这个地址上 比如一些图片等 我们在文件夹写的代码比如fetch去访问目标地址也就是后端接口,在fetch中直接输入完整的后端地址,会出现跨域,因为没有经过代理。我们要搞清楚资源在哪,直接访问不行,那就间接访问,也就是代理服务器,这个代理服务器的地址要跟后端一致,在proxy设置,一般会有重写路径的需求,所以有时候访问后端资源要故意多加一个路径,比如api 然后把api重新为''好像有点多此一举,但要搞清楚的是先碰到api在去采用代理服务器,而不是直接就先使用代理服务器,再去重写路径。

2.了解了几个快捷键 比如alt+ 左右

3.fetch和axios封装的方法返回的结果往往是一个promise对象 如果你执行了一个fetch方法 你没有用.then 你直接用const res = fetch() 用res去接受 这里的res是一个promise对象 ,紧接着下一句代码你想把res中的data赋值给另一个变量那个变量是你想展示到页面中的,这时候要注意并没有赋值成功,Promise尚未解析时执行。这意味着 res 会是一个未解析的 Promise对象,一定要await了之后在去赋值