iview admin2 代理设置 以及参数传递

重点说明,版本是2.0.0,别的版本可能不一致。 暂时不知道3版本是不是有,地址在哪。

2版本地址: https://github.com/iview/iview-admin

使用iview框架时不小心看到了iview admin,然后下载下来了看看准备用用。

问题1

使用过程碰到的第一个问题是请求发送提示跨域无法访问。

解决的正确方法

在vue.config.js设置代理

  // 设为false打包时不生成.map文件
  productionSourceMap: false,
  // 这里写你调用接口的基础路径,来解决跨域,如果设置了代理,那你本地开发环境的axios的baseUrl要写为 '' ,即空字符串
  devServer: {
    proxy: 'http://localhost:8088/data'
  }

在config/index.js文件中配置baseUrl

  baseUrl: {
    dev: '',  //http:localhost:8088/data/  
    pro: 'https://produce.com'
  },

去掉estlint检查错误 (不去掉也能跑,但是提醒各种语法报错不爽)在vue.config.js文件中

  // 如果你不需要使用eslint,把lintOnSave设为false即可
  lintOnSave: false,

当然,也可以在后台设置允许跨域。我用的springboot,上一篇有写这个问题。但是觉得前端能写的话也挺好的,尝试着设置了 一下,但是卡了很久。

 

第二个问题

使用登录方法进行登录时,debugger有参数进去,但是在浏览器发送请求部分没看到参数。

我尝试的是用get方法进行发送接收。代码如下:

export const login = ({ userName, password }) => {
  const data = {
    'userName': userName,
    password
  }

  return axios.request({
    url: 'cinema',
    data,
    method: 'get'
  })
}

springboot映射部分代码:

@RestController
public class CinemaController {

    @Autowired
    private CinemaRespository cinemaRespository;

    // 获取所有影院信息 get请求即可 注释 测试一下git
    @GetMapping(value = "/cinema")
    public List<Object> get_cinema(@RequestParam("userName") ){
        return cinemaRespository.getcinema();
    }
}

出现问题,会要求 请求有userName这个请求参数。各种百度也没有结果。debugger跟着也有参数,但是后面部分着实蒙蔽。。。

随后就尝试了一下使用post方法,发现竟然出现了参数。。

但是后端还是收不到,但是paload里面有参数。我写的后端接收参数部分是@RequestParam("userName"),这是对应表单提交的写法。有payload方式的,应该使用 @RequestBody Map param。改一下后端的接收方式即可拿到参数。关于这两种方法的介绍,可以百度,挺多好博客。

比如:https://www.cnblogs.com/yuluoxingkong/p/7605346.html等。

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值