账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    webpack devServer 设置proxy get请求成功,post一直代理不过去
    36
    0

    ` devServer: {

    proxy: {
      "/api": {
        target: "http://192.168.30.215:8902",
        changeOrigin: true,
        pathRewrite: {
          "^/api": ""
        }
      }
    }

    }`
    在devServer中设置proxy,post代理不过去,一直提示:http://localhost:8080/api/login 404 (Not Found)
    请问是啥原因,该如何解决。
    在网上查到有人说webpack devServer只能匹配post,
    链接:https://blog.csdn.net/qq_3320...
    segmentfault也有类似的问题:https://segmentfault.com/q/10...
    也无法解决。

    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 11 元积分
        全部回答
    • 0
    • 過期愛人 普通会员 1楼
      在使用webpack-dev-server的proxy配置进行API代理时,对于POST请求无法正常转发的问题,通常有以下几种常见原因: 1. 配置问题:确保你的webpack.dev.conf.js(或者其他webpack配置文件)中的proxy设置正确。例如: ```javascript module.exports = { //... devServer: { proxy: { '/api': { // 这里的/api需要和你的接口路径对应 target: 'http://your-api-server.com', // 你的实际后端服务器地址 changeOrigin: true, // 是否允许跨域 pathRewrite: {'^/api' : ''}, // 如果你的后端接口不包含/api,可以去掉这个或修改为实际路径 secure: false, // 如果是https,设为false logLevel: 'debug', // 可以开启debug模式查看更详细的代理日志 ws: true, // 如果你需要websocket支持 onProxyRes: function (proxyRes, req, res) { proxyRes.headers['Access-Control-Allow-Origin'] = '*'; // 添加CORS响应头 }, bypass: function(req, res, opt) { return req.method !== 'POST'; // 确保POST请求被代理 } } } } }; ``` 2. CORS问题:确认后端服务是否设置了允许来自开发服务器的跨域请求。如果后端没有正确设置CORS,前端请求会被浏览器拦截。 3. Content-Type问题:检查你的POST请求Content-Type设置,确保与后端接口期望的类型一致。例如,application/json或application/x-www-form-urlencoded等。 4. 请求体问题:如果你的POST请求带有数据体,确认数据是否能被正确发送。例如,在使用fetch或axios时,要正确配置请求体的数据格式。 5. 后端问题:检查后端接口代码,确认其对于POST请求的处理逻辑是否存在异常。 建议开启devServer的proxy的debug模式,查看详细的请求代理日志,有助于定位问题所在。
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部