Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
EXTJS 5.1为登录屏幕匹配json值_Json_Extjs5 - Fatal编程技术网

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=thisthis.getView().destroy()
me.getView().destroy()成功了!再次感谢你的帮助,这太棒了!