ak47007
V2EX  ›  Vue.js

请问 vue 项目打包部署后不能发送请求是怎么回事

  •  
  •   ak47007 · Oct 13, 2019 · 7589 views
    This topic created in 2423 days ago, the information mentioned may be changed or developed.

    项目未打包前是可以正常运行的,项目打包后通过 nginx 代理了一下 前端代码是这样写的

    发送请求文件

    var ip = 'http://192.168.40.130/api';
    import axios from 'axios';
    /**
     * 发送 Post 请求,参数为 Data
     * @param url 接口路径
     * @param data 参数
     * @returns {AxiosPromise}
     */
    export function sendPostData(url, data) {
      return axios({
        url: ip + url,
        method: 'POST',
        data: data,
        headers: {
          token: localStorage.getItem("token")
        }
      })
    }
    //省略一些,但是大致都差不多
    

    登录组件

      import {sendPostJSON} from '../../utils/sendRequest.js'
      
      //省略一些代码
      
      sendPostJSON('/user/login', this.user).then(response => {
                               if (response.data.resultCode == 1) {
                                   this.$message({
                                       message: response.data.resultMessage,
                                       type: 'success'
                                   });                          
                                       this.$router.push('/main');    
                               } else {
                                   this.$message({
                                       message: response.data.resultMessage,
                                       type: 'error'
                                   });
                               }
                           })
    

    附上一张图 1

    Supplement 1  ·  Oct 14, 2019
    **感谢各位大哥为小弟解答问题,解决方式就是把 mock 去掉,多谢各位**
    20 replies    2020-04-01 13:44:32 +08:00
    Immortal
        2
    Immortal  
       Oct 13, 2019
    看看你得 console
    ak47007
        3
    ak47007  
    OP
       Oct 13, 2019
    @Immortal console 空白 没有东西
    rockyou12
        4
    rockyou12  
       Oct 13, 2019
    nginx 配错没有? postman 能成功请求不?浏览器的 network 中返回的响应是什么还是没有响应?
    然后你的 http 请求,处理异常正确不?返回的异常 catch 中有没有打印或者根本没处理?
    ak47007
        5
    ak47007  
    OP
       Oct 13, 2019
    @rockyou12 postman 能请求成功, 但是 vue 项目打包部署后都不会触发请求了
    xieranmaya
        6
    xieranmaya  
       Oct 13, 2019
    断点 debug 啊
    ak47007
        7
    ak47007  
    OP
       Oct 13, 2019
    @xieranmaya 大哥,项目是打包部署后才会有这种问题出现,本地开发的时候是很正常的
    xieranmaya
        8
    xieranmaya  
       Oct 13, 2019
    部署后也能打断点啊,而且看你截图,像是根本就没发请求,你打个断点停在那一行看看先呗
    rockyou12
        9
    rockyou12  
       Oct 13, 2019
    最简单的就是在请求的各个步骤直接 console 打下 log,再打包部署看下
    ak47007
        10
    ak47007  
    OP
       Oct 13, 2019
    @xieranmaya 没有发送请求,但是能进去,if 判断也执行了
    rockyou12
        11
    rockyou12  
       Oct 13, 2019
    还有个很可能的情况是在 axios 的拦截器请求给拦截然后不知道为啥就扔了,特别是你用现成脚手架又不太熟习的话
    ak47007
        12
    ak47007  
    OP
       Oct 13, 2019
    @rockyou12 可能是我项目配置有问题,我用的是 vue-element-admin 模板,我还是重新构建一个项目把吧
    aaahhh123
        13
    aaahhh123  
       Oct 13, 2019
    防火墙?
    PanJiaChen
        14
    PanJiaChen  
       Oct 13, 2019   ❤️ 3
    @ak47007 mockjs 拦截你的请求了。
    Jackliu
        15
    Jackliu  
       Oct 13, 2019
    明显报错了 Promise 都不 catch 的么
    tonytonychopper
        16
    tonytonychopper  
       Oct 13, 2019
    打断点不就完事了吗
    hitaoguo
        17
    hitaoguo  
       Oct 14, 2019
    不是方法名不对吗?导出 sendPostData,引入的 sendPostJSON
    ak47007
        18
    ak47007  
    OP
       Oct 14, 2019
    @PanJiaChen 一针见血,大哥牛逼,小弟我对大哥你的景仰犹如滔滔江水,连绵不绝,又如黄河泛滥,一发不可收拾也
    argus1
        19
    argus1  
       Mar 30, 2020
    请问怎么解决的。我的就重定向
    @ak47007
    ak47007
        20
    ak47007  
    OP
       Apr 1, 2020
    @argus1 不好意思,这么久了,有点不记得了,反正我是把 mock 的配置去掉就好了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5595 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 54ms · UTC 07:23 · PVG 15:23 · LAX 00:23 · JFK 03:23
    ♥ Do have faith in what you're doing.