收藏
回答

thirdScriptError doLogin is not defined;

在onLoad里面调用function  报错 提示

thirdScriptError
doLogin is not defined;at "pages/common/login/login" page lifeCycleMethod onLoad function
ReferenceError: doLogin is not defined


js代码如下

const app = getApp();
Page({
 
  /**
   * 页面的初始数据
   */
  data: {
    topnavData: {
      title: '',
      showCapsule: 0, //是否显示返回按钮   1表示显示    0表示不显示
    },
    // 此页面 页面内容距最顶部的距离
    height: app.globalData.height * 2 + 24,
  },
 
 
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function(options) {
    var that = this;
    var phone = wx.getStorageSync("phone");
    var password = wx.getStorageSync("password");
    // console.log(phone, password);
    if (phone != null || password != null) {
      doLogin(phone, password);
    }
  },
 
  toRegister: function() {
    wx.navigateTo({
      url: '/pages/common/register/register'
    })
  },
 
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function() {
 
  },
 
  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function() {
 
  },
 
  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function() {
 
  },
 
  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function() {
 
  },
 
  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function() {
 
  },
 
  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function() {
 
  },
 
  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function() {
 
  },
  //页面跳转
  goIndex: function() {
 
  },
  /**
   * 登录
   */
  doLogin: function (phone, password) {
    wx.request({
      method: 'POST',
      url: app.globalUrl.url + '/open/api/login/login',
      data: {
        'phone': phone,
        'password': password,
        'openid': app.globalData.openid
      },
      header: {
        'content-type': 'application/x-www-form-urlencoded' // 默认值
      },
      success(res) {
        var data = res.data;
        console.log(data.data);
        if (0 == data.result) {
          wx.setStorageSync('token', data.data.token);
          wx.setStorageSync('user', user);
          //页面跳转
          var roleName = wx.getStorageSync('roleName');
          var url = '';
          if ("landlord" == roleName) {
            url = '/pages/landlord/index/index';
          } else if ("agent" == roleName) {
            url = '/pages/agent/index/index';
          } else {
            url = '/pages/tenants/index/index';
          }
          console.log(url);
          wx.switchTab({
            url: url,
          })
        } else {
          var msg = res.data.msg;
          wx.showToast({
            title: msg,
            icon: 'none',
            duration: 9000 //持续的时间
          })
        }
      }
    })
  },
  formSubmit: function(e) {
    var that = this;
    // console.log(e.detail.value);
    //格式 Object {userName: "user", userPassword: "password"}
    //获得表单数据
    var objData = e.detail.value;
    // 同步方式存储表单数据
    wx.setStorageSync('phone', objData.phone);
    wx.setStorageSync('password', objData.password);
    doLogin(objData.phone, objData.password);
  },
 
 
 
})

我就不明白 这个function 要如何定义

还是

onLoad不能执行function??

求解答

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

1 个回答

  • 灵芝
    灵芝
    2019-06-26

    写成that.doLogin(phone, password);试试


    2019-06-26
    有用 1
    回复 5
    • 2019-06-27

      感谢 方法没有报错了 但是 为什么执行了方法 页面没有跳转呢

      console.log(url);
      wx.switchTab({
        url: url,
      })


      2019-06-27
      回复
    • 朝花夕拾🌸
      朝花夕拾🌸
      2019-06-27回复

      你的跳转页面是tabbar页面吗?

      2019-06-27
      回复
    • 2019-06-27回复朝花夕拾🌸

      换成navigateTo解决了

      wx.navigateTo({
        url: url,
      })


      2019-06-27
      回复
    • 朝花夕拾🌸
      朝花夕拾🌸
      2019-06-27回复

      那说明你的页面不是tabBar页面

      2019-06-27
      回复
    • 2019-06-27回复朝花夕拾🌸

      小程序 是多角色  显示不同的tabBar做的比较复杂 没有用原生的tabBar

      2019-06-27
      回复
登录 后发表内容