开发测试比

1.服务器已经开启了CORS跨域支持

  1. 浏览器有同源策略限制:协议、域名、端口号
  2. 其中无法向非同源地址发送ajax请求
    1. 跨域解决方法:JSONP(只支持get不支持post),不是ajax

凡是有src属性的标签都有跨域能力
前端定义一个处理返回data的方法
后端获取前端的callback参数(函数名)
后端用callback函数包装数据返回给前端
前端由于先前定义了callback,就能以自己想要的方式处理数据(调用)
JSONP学习笔记

   2)vue的jsonp : this.$http.JSONP('', {})
   3) CORS跨域资源共享
   普通的跨域请求,只需要后端设置;带cookie的跨域请求,前后端都要设置

什么是跨域?跨域解决方法

2.axios

创建实例时,即使配置了baseURL,也不影响,因为他是给相对路径使用的,而我的测试页面用的是绝对路径。

  1. baseURL 将自动加在 url 前面,除非 url 是一个绝对 URL。
    它可以通过设置一个 baseURL 便于为 axios 实例的方法传递相对 URL
  2. 创建实例时配置headers,其中有缓存头Cache-Control,设置为no-store:本地和代理服务器都不可以存储缓存,每次都要重新请求,拿到内容。
  3. 拦截器
    请求拦截器:发送请求之前做什么;对请求错误做什么;
    设置拦截器是为了配合服务器的要求:请求接口时要求带token,那我就在请求拦截器的发送请求之前,给headers配上token
    Object.assign方法用于对象的合并,将源对象(source)的所有可枚举属性,复制到目标对象(target)

3. 登录时报错

OPTIONS http://122.248.77.123:8090/login/login net::ERR_CONNECTION_TIMED_OUT

查了一圈问题,发现这个ip地址ping不通…
ping是tcp/ip工具
1.解析域名为ip地址
2.检查网络是否通畅
3.检测计算机名
4.了解所使用的操作系统

Ping命令的七种用法

4. mock.js

由以上问题,正好学习了下mock.js
手摸手教你在vue项目中使用mockjs模拟数据入门

5. slot-scope

slot-scope是element-ui表格里的用法,实际在vue里是slot插槽的概念
elementUI:理解vue之element-ui中的

  • 使用时是scope.row
  • scope不能直接用

vue插槽:Vue的slot-scope的场景的个人理解

6. vue导出表格

选择插件时应当搜索vue导出excel的,当时搜的是elementUI导出表格,推荐到这个文章:Element-ui组件库Table表格导出Excel表格
虽然用这2个插件没毛病,但是,操作时报错:

cant read property 'getElementsByTagName' of null

我就一直纠结于是否在按钮点击时,注册在methods里的事件不能获得dom元素(table),尝试了在mounted里能获取,于是在mounted里将dom保存到data,再methods里调用,依然不行!
然后陷入循环找不到原因…
最终发现,在布局时,将el-table放在了el-row里,影响了插件方法获取dom,这里应当看看源码…

7. 监听路由的改变

路由跳转前后,this.$route值
在mounted里检测(决定了dom挂载到页面上时是否渲染下拉框),是直接访问路径时隐藏;
watch路由的from,to,是保证路由切换时也能隐藏;

8.apache和php的关系

Apache是Web服务器,负责回应所有收到的Web请求。比如你访问http://zhihu.com/1.html,那么Apache就找到根目录下的1.html文件,将其中的内容返回。 如果我需要这个地址能显示动态的东西,比如当前日期时间,那么就写一个PHP程序1.php,当Apache收到http://zhihu.com/1.php的请求时,通过CGI调用PHP解释程序,执行1.php文件的内容,然后将返回的字符串返回给客户端。

就把服务器看成一间餐馆,apache是店面的传菜员,php是厨房的厨师。有些饮料之类的(静态资源,如:HTML、CSS、JS、Images等),不用经过厨师,直接由传菜员传递给顾客(Client)。如果需要厨师烹饪的菜式(例如:*.PHP等),就需要先等厨师把原始食材(php)烹饪完变成可以吃用的饭菜(静态资源),传菜员才能上菜。

9. package-lock.json

锁定安装时的包的版本号,并且需要上传到git,以保证其他人在npm install时大家的依赖能保证一致。

package-lock.json的作用

10.vue项目中devServe 设置open为true的时候浏览器启动两次的解决办法

  1. vue.config.js 里的devServer里的open选项改为false,
  2. package.json中的scripts改为 {“dev”: “vue-cli-service serve --open”}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值