EXTJS 5.1为登录屏幕匹配json值
我已经为我的登录屏幕构建了一个控制器:EXTJS 5.1为登录屏幕匹配json值,json,extjs5,Json,Extjs5,我已经为我的登录屏幕构建了一个控制器: Ext.define('ies.view.login.LoginController', { extend: 'Ext.app.ViewController', alias: 'controller.login', onLoginClick: function(){ //get form field values var username = this.lookupReference('us
Ext.define('ies.view.login.LoginController', {
extend: 'Ext.app.ViewController',
alias: 'controller.login',
onLoginClick: function(){
//get form field values
var username = this.lookupReference('username').getValue();
var password = this.lookupReference('password').getValue();
var LoginError = document.getElementById("displayfield-1014-inputEl");
//console.log(username + ' ' + password);
// set usernames and a single passwords
if ((username === 'carol' || username === 'denise' || username === 'coley' || username === 'yegappan' || username === 'julie' || username === 'dawn' || username === 'yvonne' || username === 'chuck' || username === 'belinda' || username === 'atlante' || username === 'blake' || username === 'ernie' || username === 'Patrick.Dwyer') && password === 'password1'){
// Set the localStorage value to true
localStorage.setItem("TutorialLoggedIn", true);
localStorage.setItem(username, true);
//console.log("Authenticated");
// Remove Login Window
this.getView().destroy();
// Add the main view to the viewport
Ext.widget('app-main');
} else {
LoginError.innerHTML = "Wrong Username or Password";
LoginError.style.color = "#ff0000";
console.log("Not authenticated");
}
}
});
这非常有效,但我正在尝试从json文件获取身份验证的值:
[
{
"username":"angel",
"password":"password1"
},
{
"username":"chuck",
"password":"password1"
},
{
"username":"yvonne",
"password":"password1"
},
{
"username":"belinda",
"password":"password1"
},
{
"username":"patrick",
"password":"password1"
},
{
"username":"carol",
"password":"password1"
}
]
下面的代码获取ajax请求并发出警报以显示用户名。我正在让它工作,但我没有定义用户名:
Ext.Ajax.request({
url: 'app/model/cred.json',
params: {
someParam: 'someValue'
},
method: 'POST',
success: function(result, request) {
var json = Ext.decode(result.responseText);
Ext.Msg.alert('JSON Data', 'Username is: ' + json.username);
},
failure: function(result, request) {
Ext.Msg.alert('Error', 'An Error has bitten ye squarely on the keister...');
}
});
我想问题是如何获取json文件的值,如果用户名和密码匹配,请设置允许用户登录应用程序的本地存储。。。我一直在思考如何处理这个问题--我甚至无法在警报中显示json文件的值
这里只对ajax请求进行了修改:
非常感谢您的帮助 我认为这里的关键是查看
var json
值。将回拨代码更改为下面的,您将在消息框中看到username
值
Ext.Msg.alert('JSON Data','Username is:'+JSON[0].Username)代码>嗨,DevPat,这真的帮了我大忙。你能提供你对此代码的反馈吗?我似乎无法删除视图。不确定这里的代码发生了什么:this.getView().destroy()代码>。我有把小提琴。提前感谢您的帮助!它可以工作,但我必须刷新页面以销毁当前视图。。。我不知道该怎么做,也不知道我做错了什么。再次感谢@亚特兰提维拉请提供完整的代码在您最新的sencha小提琴链接。得到它的工作!我需要在this.getView..
中定义它。“this”指的是ajaxrequest,需要它与onloginclick函数一起工作。我在onloginclick函数中添加了定义:var me=this然后替换了this.getView().destroy()代码>与me.getView().destroy()代码>成功了!再次感谢你的帮助,这太棒了!