J'essaie simplement de mettre à jour le stockage local, mais dans la demande Ext.Ajax je ne peux pas appeler this.store.create(). Comment puis-je appeler la fonction this.store.create à l'intérieur de la zone succès: de l'appel Ajax. Merci beaucoup pour votre aide.this.store.create ne se déclenchera pas dans l'appel ajax
login: function(params) {
params.record.set(params.data);
var errors = params.record.validate();
if (errors.isValid()) {
var myMask = new Ext.LoadMask(Ext.getBody(), {msg:"Please wait..."});
myMask.show();
//now check if this login exists
Ext.Ajax.request({
url: '../../ajax/login.php',
method: 'GET',
params: params.data,
form: 'loginForm',
success: function(response, opts) {
var obj = Ext.decode(response.responseText);
myMask.hide();
//success they exist show the page
if(obj.success == 1){
//this doesn't work below
this.store.create(params.data);
this.index();
}
else{
Ext.Msg.alert('Incorrect Login');
}
},
failure: function(response, opts) {
alert('server-side failure with status code ' + response.status);
myMask.hide();
}
});
}
else {
params.form.showErrors(errors);
}
},
Quelle est l'erreur? Avez-vous une exception JavaScript? Il peut s'agir d'un problème de portée, votre pointeur "this" peut ne pas pointer vers ce que vous pensez être. Aussi les docs mentionnent une méthode add pour les magasins mais pas une création. Quelle version de sencha touch utilisez-vous? –
Im using sencha 1.1 Je suppose que j'ai besoin de référencer le magasin avec son nom complet de magasin? c'est-à-dire: loginDetails.store.create (params.data); Est-ce que ce serait correct? –