0

我在 extjs4 MVC 中工作,当我使用本地存储存储数据时遇到问题,我打算将代理类型从 ajax 动态更改为 localStorage。

将数据设置为 localstorage 后,出现错误 Uncaught TypeError: undefined is not a function。

我的模型:

Ext.define('Am.model.sn.UserModel',{
    extend: 'Ext.data.Model',
    //idproperty:'userId',//fields property first position pk. 
        fields: ['userId','firstName','middleName','lastName','languageId','primaryEmail','birthDate','password','securityQuestionId','securityQuestionAnswer','isMale','creationTime','ipAddress','confirmationCode','userStatusId']

}); 

我的控制器:

Ext.define('Am.controller.sn.UserController1',
{
    init:function()
    {
        console.log('Initialized Users! This happens before the Application launch function is called'); 
        this.control(
        {
            ...
        });
    },

    remeberMe : function()
    {
        console.log("check box selected");
        var email=this.getUserName().getValue();
        var password=this.getPassword().getValue();
        console.log("email="+email);
        var objCheckBox=Ext.getCmp('checkbox');
        if(objCheckBox.getValue()==true)

        {
            window.localStorage.clear();

            // Here I am getting error Uncaught TypeError: undefined is not a function 
            var lsProxy = new Ext.data.proxy.LocalStorage({
                id: 'localp',
                type:'localstorage',                
            });

            var modelObject = Ext.ModelManager.create(
            {
                primaryEmail:email,
                password: password,
                proxy:lsProxy
            }, 'Balaee.model.sn.UserModel');

            modelObject.setProxy(lsProxy);
            modelObject.save();
        } else {
            console.log("check box is not selected");
        } 
    },
});

请给我建议...

4

1 回答 1

1

首先,如果我正确理解您的代码 - 您正在将用户及其密码加载到客户端。这是一个巨大的安全风险,因为任何人都可以看到这些数据(只需点击几下鼠标)。

第二,LocalStorage没有type配置。

第三,如果你真的在这一行得到错误(而不是调用堆栈中的某个子行):

var lsProxy = new Ext.data.proxy.LocalStorage({

只能Ext.data.proxy是不在范围内。

尝试将此配置添加到您的控制器:

requires: ['Ext.data.proxy.LocalStorage'],

让我们知道会发生什么。

于 2013-03-06T23:04:10.303 回答