私は単にローカルストレージを更新しようとしていますが、Ext.Ajax.requestの内部でthis.store.create()を呼び出すことはできません。 Ajax呼び出しの成功領域内でthis.store.create関数を呼び出すにはどうすればよいですか。ご協力いただき誠にありがとうございます。 JavaScriptでthis.store.createは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);
}
},
エラーは何ですか? JavaScriptの例外がありますか?それはスコープの問題かもしれません、あなたの "this"ポインターはあなたが思うものを指していないかもしれません。また、ドキュメントにはstoreのaddメソッドがありますが、createはありません。どのバージョンのSencha Touchを使用していますか? –
私はsencha 1.1を使用しています。私は完全なストア名でストアを参照する必要があると思いますか?すなわち:loginDetails.store.create(params.data);それは正しいでしょうか? –