我有一個ScriptTagProxy,我能夠接收數據,但現在我想更新記錄。我指定了一個url,但只有一個url。我必須使用此網址處理所有操作(讀取,更新,創建,刪除)嗎? 如果是:該動作如何應用於該網址? 如果沒有:我如何指定更多的網址?Sencha Touch:用於創建/更新功能的ScriptTagProxy url
這裏是我到目前爲止的代碼:
app.stores.entries = new Ext.data.Store({
model: "app.models.Entry",
storeId: 'app.stores.entries',
proxy: {
type: 'scripttag',
url: 'http://myurl.de/getEntries.php',
extraParams: {
username: Ext.util.JSON.decode(window.localStorage.getItem('settings')).username,
password: Ext.util.JSON.decode(window.localStorage.getItem('settings')).password
},
reader: {
type: 'json'
},
writer: {
type: 'json'
}
}
});
我的文檔閱讀,你可以通過一個配置對象模型來configurate代理的保存功能。
所以我嘗試以下操作:
entry.save({
url: 'http://mysite.com/updateEntry.php',
extraParams: {
username: Ext.util.JSON.decode(window.localStorage.getItem('settings')).username,
password: Ext.util.JSON.decode(window.localStorage.getItem('settings')).password,
entry: entry
},}
正如你看到的有指定的網址。 但我仍然收到錯誤: 未捕獲錯誤:您正在使用ServerProxy,但尚未向其提供url。 );
相同的行爲使用AjaxProxy或RestProxy例如:(
您定義的actionMethods是默認值,所以這不會改變任何東西。我只想.save()模型「實例」。這是發生錯誤的地方。我可以做一個sync(),但是這不會調用任何可以在後端更新數據的url。 非常感謝您的回答,但它並沒有解決問題:( – hering 2011-04-14 06:18:48
我發現即使它們是默認設置,但直到我明確設置它們時,它才真正以這種方式工作。做了同步()它仍然只是發送一個POST。一旦我設置它們,我開始得到DEL和PUT請求。 – ballmw 2011-04-14 10:40:44