合金のモデルを使用して認証しようとしています。私は昨日からこの問題を理解しようとしてきました。誰かが私を助けることができれば、本当に感謝しています。したがって、ビューがありlogin.xml
、次にコントローラーがありlogin.js
ます。login.js
には次の機能が含まれています。
var user = Alloy.Models.user; //my user.js model
function login(e) {
if($.username.value !== '' && $.password.value !== ''){
if(user.login($.username.value, $.password.value)){
Alloy.createController('home').getView().open();
$.login.close();
}
}else{
alert('Username and/or Password required!');
}
}
次に、私のuser.js
モデルでは、次のようになります。
extendModel : function(Model) {
_.extend(Model.prototype, {
login: function(username, password) {
var first_name, last_name, email;
var _this = this;
var url = 'http://myurl.com/test.php';
var auth = Ti.Network.createHTTPClient({
onerror: function(e){
alert(e.error);
},
onload: function(){
var json = this.responseText;
var response = JSON.parse(json);
if(response.logged == true){
first_name = response.f_name;
last_name = response.l_name;
email = response.email;
_this.set({
loggedIn: 1,
username: email,
realname: first_name + ' ' + last_name,
email: email,
});
_this.save();
}else{
alert(response.message);
}
},
});
auth.open('POST', url);
var params = {
usernames: username,
passwords: password,
};
auth.send(params);
alert(_this.get('email')); //alert email
},
});
ログインをクリックすると、 の関数がlogin.xml
呼び出されます。だから、今私の問題は、ボタンを初めてクリックすると、から空のアラートが表示されることですが、ボタンを2回目にクリックすると、すべてが正常に機能し、電子メールにアラートが送信されます。何が起こっているのかわかりません。お手伝いありがとう。login
index.js
alert(_this.get('email'))