收藏
回答

post请求报403

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug wx.request 工具 5.1 2.6.5

请求后台数据的时候get请求没有问题,put和post请求报错403 ,提示“Invalid CORS request”,我用postman测试都是可以的,不知道是怎么回事


下面是postman

这里是我封装的http请求工具类

function promiseHttp(url, type, data) {
 
    return new Promise(function(resolve, reject) {
      wx.request({
        url: url,
        method: type,
        data: data,
        success: function(res) {
          console.log('请求成功', res)
          resolve(res)
        },
        fail: function(res) {
          console.log('请求失败', res)
          reject(res)
        },
        complete: function() {
          wx.hideLoading()
        }
      })
    })
  }

下面是请求代码

HttpUtil.promiseHttp(url, "POST", petdata)
      .then(function (res) {
        console.log("返回的数据为:", res.data)
        if (res.statusCode == 200) {
          that.setData({
            animalId: res.data.animalId,
            pet:res.data
          })
        }
      })

网上看了下说是因为小程序 content-type 默认是小写,改成Content-Type 就可以了,但是我改了也没起作用,请问该如何解决,不想直接写ip加端口号

回答关注问题邀请回答
收藏

7 个回答

  • Leaf
    Leaf
    2022-03-29

    我也是遇到这个问题了,请问楼主知道找到解决方法了吗

    2022-03-29
    有用
    回复
  • Bound
    Bound
    2021-09-29

    我把开发者工具升级到最新版就好了 太难了


    2021-09-29
    有用
    回复
  • 禾店短剧系统
    禾店短剧系统
    2021-06-16

    <script src="{% static 'js/jquery-3.1.1.js' %}"></script>

    <script>

    $('#btn').click(function () {

    var li_content = [];

    $('#ddd').children('li').each(function () {

    li_content.push($(this).html());

    });

    console.log(li_content);


    $.ajax({

    url: '/webs/test_json/',

    type: 'post',

    data: {

    'li_list': JSON.stringify(li_content),

    csrfmiddlewaretoken: '{{ csrf_token }}' // 添加这句

    },

    success: function (arg) {

    console.log(arg);

    }

    })

    })


    </script>

    2021-06-16
    有用
    回复
  • Abner
    Abner
    2019-11-07

    我今天也碰到了这个问题,前两天还好好的,今天莫名其妙的出现了这个问题


    2019-11-07
    有用
    回复
  • 戏如人生
    戏如人生
    2019-11-01

    postman也是403的,只是他会解析body,不信你postman里查看一下请求,ctrl+alt+c

    2019-11-01
    有用
    回复 1
    • 揽月🐳
      揽月🐳
      2021-06-29
      ctrl+alt+c看了  postman确实是正常的200
      2021-06-29
      回复
  • 2019-08-21

    这个问题解决了吗 我的是模拟器没问题 但是真机调试403


    2019-08-21
    有用
    回复
  • 明军
    明军
    2019-07-17

    这两天也遇到了类似问题,模拟器就会出现,但是真机不会,不知道我为什么。主要表现在POST请求模拟器遇到类似问题

    2019-07-17
    有用
    回复 4
    • GhostMamba
      GhostMamba
      2019-07-17
      对呀,真是有点坑,我们还没弄域名,只有写ip调到了
      2019-07-17
      回复
    • 明军
      明军
      2019-07-17

      是很奇怪,但是我们两套环境,在测试环境,就没问题,生产环境就有问题post请求没有403,我们就怀疑服务器配置和代码配置跨域问题。但是生产环境post真机没问题,模拟器有问题。很鬼

      2019-07-17
      回复
    • 27
      27
      2019-08-20

      由于服务端加了这段代码,所以同样遇到了这个问题。

      //生产环境
      if (ProfileEnum.isProd(springProfilesActive)) {
        corsConfiguration.addAllowedOrigin("https://xxx.com");
        corsConfiguration.addAllowedOrigin("https://yyy.com");
        corsConfiguration.addAllowedOrigin("https://zzz.com");
      }


      奇怪就在于,真机没问题,开发者工具报 403,

      2019-08-20
      回复
    • 27
      27
      2019-08-20

      postman 也正常

      2019-08-20
      回复
登录 后发表内容