0

我正在使用 Ext.Ajax.request() 访问一个 PHP 页面,该页面为我提供了一些用户特定的信息,作为登录过程的一部分。基本上我想在 ExtJS 中存储一些变量(cookie、会话信息等)。我创建了一个包含所需字段的模型和一个商店来保存它。即使身份验证只进行一次我想确保在给定时间只有一个用户信息的副本。我想使用该信息再次访问 PHP,而无需再次进行身份验证(cookies)。这是我获取和存储它的方法:

Ext.Ajax.request({
            url: 'api/get.php',
            params: {
                user : usr,
                pass : pass
            },

            success: function(response)
            {
                var text = response.responseText;
                var jtext = Ext.JSON.decode(text);
                var login = jtext.loginData;

                model.set('username', login.username);
                model.set('cookie', login.cookie);
                model.set('password', login.password); // doing this feels soo wrong!
                store.insert(0, model);
                store.sync();
                console.log(store.getCount());
            }
        });

更好的方法是什么?由于我目前使用的是外部(PHP)服务,因此我只检查用户/密码是否正确,如果正确,我将其从客户端传递给 PHP 函数,这些函数与外部服务,每次都与他们进行身份验证。或者,我可以每次将 cookie 传递给 PHP,然后将其传递下去。我还可以将 JS<->PHP cookie 映射到 PHP<->服务 cookie,这样会更好。

干杯!

4

1 回答 1

0
Ext.util.Cookies.set('myObj',Ext.encode(obj))

使用类似的东西以及何时使用它

id = (Ext.decode(Ext.util.Cookies.get('myObj'))).id
于 2013-06-20T22:32:44.353 回答