我有一个休息api和用户身份验证,其余网址是: 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'
}
}
}
});
这是我在loginbuttion tap功能上的LoginController:
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,{.....
任何人都可以帮我实现这个目标吗?
答案 0 :(得分:0)
您可以使用方法“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'
}
}
});