我有一个rest api,对于用户身份验证,rest url是:https://api.abc.com/user/{用户名}/{密码}。所以我需要为rest代理设置两个参数。谁能帮帮我?
下面是我的用户模型:
Ext.define('NCAPP.model.User', {
extend:'Ext.data.Model',
config:{
fields:[
{ name:'id', type: 'int'},
{ name: 'username', type: 'string'},
{ name: 'netshop_id', type:'int'},
{ name: 'firstname', type: 'string'},
{ name: 'lastname', type: 'string'},
{ name: 'address', type: 'string'},
{ name:'password', type:'string'},
],
proxy: {
type:'rest',
url:https://api.abc.com/user/',
noCache: false,
reader: {
type:'json',
rootProperty:'user'
}
}
}});
这是我的LoginController on loginbuttion点击函数:
onLoginButtonTap:function(){
var values=this.getLoginForm().getValues();
Ext.ModelMgr.getModel('NCAPP.model.User').load(values.username,{
success: function(user){
if(user==null)
{
Ext.Msg.alert('NCAPP',"Invalid username or password!");
}
else
{
Ext.Msg.alert('NCAPP','Welcome! '+user.get('username'));
//do after login implementation
}
},
failure: function(user){
console.log("Uff, Something went worng!");
}
});
},在下面的代码行中,我想传递用户名和密码: Ext.ModelMgr.getModel('NCAPP.model.User').load(values.username,values.password,{.....
有没有人能帮我实现这个目标?
发布于 2013-03-19 06:33:39
您可以使用"setProxy“方法将代理动态添加到您的模型/存储中。
var values = this.getLoginForm().getValues();
YOURMODEL.setProxy({
proxy: {
type: 'rest',
url: 'https://api.abc.com/user/'+ values.username +'/'+ values.password,
noCache: false,
reader: {
type: 'json',
rootProperty: 'user'
}
}
});https://stackoverflow.com/questions/15481408
复制相似问题