收藏
回答

openid获取了,但调用不显示

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug wx.login 客户端 7.0.3 buxiang

- 当前 Bug 的表现(可附上截图)


- 预期表现

可以将openid单独获取出来

- 复现路径


- 提供一个最简复现 Demo

//app.js

App({

  onLaunch: function() {


    //获取access_token

    wx.request({

      url: 'http://api.wss.onlyjune.com/accessToken?client_id=20882088&secret=nGk5R2wrnZqQ02bed29rjzax1QWRIu1O',

      data: {},

      method: 'post',

      header: {

        'Content-Type': 'application/json'

      },

      success: function(res) {

        wx.login({

          success: function(a) {

            // console.log(a.code)

            //发送请求

            wx.request({

              url: 'http://api.wss.onlyjune.com/login/getWxOpenid.html',

              data: {

                access_token: res.data.access_token,

                wx_code: a.code

              },

              header: {

                'content-type': 'application/json'

              },

              success: function(b) {

                console.log(b.data)

                console.log("获取到的openid为:" + b.data.openid)

              }

            })

          }

        })

        //本地缓存access_token

        wx.setStorage({

          key: 'access_token',

          data: {

            access_token: res.data.access_token,

            expires: Date.parse(new Date()) + res.data.expires,

          },

          success: function() {},

        })

      },

      fail: function() {}

    })

  },

  globalData: {

    userInfo: null

  }

})


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

3 个回答

  • Bn
    Bn
    2019-03-28

    try {

      JSON.parse(b.data).openid

    } // ...


    2019-03-28
    有用
    回复 1
    • 2019-03-28

      可以了,谢谢

      2019-03-28
      回复
  • 祺爸💎
    祺爸💎
    2019-03-28

    b.data是字符串,需要先JSON.parse


    2019-03-28
    有用
    回复 1
    • 2019-03-28

      好了,谢谢

      2019-03-28
      回复
  • 拾忆
    拾忆
    2019-03-28

    你的b.data是字符串,需要JSON.parse(b.data)下。

    2019-03-28
    有用
    回复 1
    • 2019-03-28

      好了,谢谢

      2019-03-28
      回复
登录 后发表内容