收藏
回答

微信JAAPI支付:PHP服务端调用通过跳转获取用户的openid时报跨域,怎么解决?

微信JAAPI支付使用demo时获取微信openID时报跨域,也就是使用PHP的:Header("Location: $url");重定向获取微信code时报跨域,但是如果直在微信开发工具内的浏览器中访问:$url,是可以获取到code          的,所以麻烦你们看下,是什么问题导致?

Header("Location: $url");

最后一次编辑于  2020-12-29
回答关注问题邀请回答
收藏

2 个回答

  • 支付社区运营
    支付社区运营
    2020-12-30

    楼上银色子弹的回复非常专业,建议参考。

    2020-12-30
    有用
    回复
  • 银色子弹
    银色子弹
    2020-12-29

    从你的代码看,你是js前端发出了一个http请求 请求getOpenid这个接口;这是不对的,微信授权是需要页面重定向的,而不是发起http请求。

    你的js代码应该是window.localtion.href=xxx.com/getOpenid;


    2020-12-29
    有用 1
    回复 3
    • 浪冰
      浪冰
      2020-12-29
      不是前端直接调用getOpenid这个接口,是前端调用下单接口,然后下单接口自己去调用调用getOpenid这个接口,由:Header("Location: $url");发起的获取code请求
      2020-12-29
      回复
    • 银色子弹
      银色子弹
      2020-12-29回复浪冰
      那不是一个道理吗?你触发这个location都是依靠http来做的,不是浏览器来发起重定向,想成功必须是重定向
      2020-12-29
      回复
    • 银色子弹
      银色子弹
      2020-12-29回复浪冰
      http转发和http重定向不是一码事
      2020-12-29
      回复
登录 后发表内容
问题标签