Secha Touchを使用したシンプルなフォームを開発しています。Achaxproxyを使用したSencha Touchデータストアのレコードの更新
App.stores.shopinglists = new Ext.data.Store({
model: 'ShopingList',
autoLoad: false,
proxy: new Ext.data.AjaxProxy({
type: 'ajax',
url: 'http://localhost:2795/ShopingListService/',
reader: {
type: 'json',
root: 'ResultData',
totalProperty: 'Total',
successProperty: 'Success'
},
writer: {
encode: true,
type: 'json'
}
})
});
ビューが正常に読み込まれ、アイテムのリストが表示され、編集できます。ただし、更新ボタンをクリックすると、次のエラーが表示されます。 Uncaught Error:ServerProxyを使用していますが、URLを提供していません。
ここには何がありますか?プロキシにはURLが定義されていますが、更新が呼び出されると定義されません。
編集:ボタンはコントローラの操作を呼び出すだけです。
onSaveAction: function() {
var model = this.getRecord();
Ext.dispatch({
controller: 'ShopingLists',
action: (model.phantom ? 'save' : 'update'),
data: this.getValues(),
record: model,
form: this
});
},
コントローラによって実行されるコードはこれです:
update: function (params) {
debugger;
var tmpshopingList = new App.models.ShopingList(params.data);
var errors = tmpshopingList.validate();
if (errors.isValid()) {
params.record.set(params.data);
params.record.save();
this.index();
} else {
params.form.showErrors(errors);
}
},
更新ボタンによって実行されたコードを投稿してください。 –
こんにちは: あなたのリプレイに感謝します。 私は自分のfirsコメントの中にコードを入れました。 – Oscar