【问题标题】:Titanium cloud.users.show钛云.users.show
【发布时间】:2013-10-13 08:14:31
【问题描述】:

在我的钛 app.js 中,我在下面有云注册/登录代码 sn-ps...

注册:

var btnR = Titanium.UI.createButton({
title: 'register',
top: 350,
left: 10,
width: 100,
height:28
});

    btnR.addEventListener('click', function(){
    Cloud.Users.create ({
                username: username.value,
                password: password.value,
                password_confirmation : passwordConfirmation.value,
                firstName: firstName.value,
                lastName: lastName.value,
                email : email.value
    }, function (e) {
           if (e.success) {
            var user = e.users[0];
        Ti.App.fireEvent('register');
        } else {
            alert('fail :' + e.message);
        }
      });
    });

登录:

var btnL = Titanium.UI.createButton({
title: 'log in',
top: 190,
left: 10,
width: 100,
height:50
});

btnL.addEventListener('click', function(){
Cloud.Users.login({
    login: userNameField.value,
    password: passwordField.value,
}, function (e) {
    if (e.success) {
        var user = e.users[0];
            Ti.App.fireEvent('login');
    } else {
        alert('fail:' + e.message);
    }
    });
});

在我的 home.js 中,我有以下代码。

var search = Titanium.UI.createSearchBar({
    hintText: 'search here',
    showCancel:true,
    height:35,
    top:10,
    center:0,
    width:250
});
view6.add(search);


search.addEventListener('cancel', function(e)
{
Titanium.API.info('search bar cancel fired');
search.blur();
});

好的,我的问题是,如果我希望用户能够通过搜索栏搜索其他用户,我该怎么做。我尝试了下面的代码,但它给了我一个错误..“在 home.js 中找不到变量 userId”。谢谢你帮助我。

search.addEventListener('return', function(e)
{
Cloud.Users.show({
    user_id: userId
}, function (e) {
    if (e.success) {
        var user = e.users[0];
        alert('Success:\n' +
            'id: ' + user.id + '\n' +
            'first name: ' + user.first_name + '\n' +
            'last name: ' + user.last_name);
} else {
        alert('Oops:' + e.message);
   }
    });
});

【问题讨论】:

  • plus..上面的代码是一个单独的 url 文件而不是主窗口。
  • 那么 userId 的值是从哪里来的呢?从我在这里可以看到,当你发送它时它是未定义的......

标签: ios titanium


【解决方案1】:

如果您使用您在此处提出的登录问题中的代码

Titanium Login/Registration

还有我们来自

的user_id
Cloud.Users.login({
  login: userNameField.value,
  password: passwordField.value,
}, function (e) {
  if (e.success) {
    var user = e.users[0];
    user_id = user.id; // assign user id

    showUser(user_id);

    alert('success');
  } else {
    alert('Unable to log you in:' + e.message);
  }
});

创建一个向用户展示的函数

function showUser(_userId) {
    Cloud.Users.show({
      user_id: _userId
    }, function (e) {
      if (e.success) {
        var user = e.users[0];
        alert('Success:\n' +
            'id: ' + user.id + '\n' +
            'first name: ' + user.first_name + '\n' +
            'last name: ' + user.last_name);
      } else {
        alert('Oops:' + e.message);
      }
  });
}

【讨论】:

  • 感谢亚伦先生,首先,我是您博客的粉丝/追随者。我刚刚尝试了您的代码,但它对我不起作用,也许我做得很好。请允许我,我对 mobil dev 还是比较陌生。 ***我正在尝试将用户登录到运行良好的主页,但我希望用户能够通过“搜索栏”搜索应用程序的其他用户。
  • 如果您需要更多帮助,您将需要提供更多代码
  • 我已经用更多代码编辑了我以前的代码。谢谢你帮助我。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-02
  • 2018-11-12
  • 2013-12-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多