私はScriptTagProxyを取得しましたが、データを受け取ることができましたが、今はレコードを更新したいと考えました。私はURLを指定しましたが、URLは1つだけです。私はこのURLですべてのアクション(読み取り、更新、作成、削除)を処理する必要がありますか? はいの場合:アクションはどのように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'
}
}
});
私はドキュメントで読んだあなたは、プロキシを形作るためのモデルの保存機能にconfigオブジェクトを渡すことができます:ここで
は、私がこれまで持っているコードです。だから私は、次のことを試してみました:
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
},}
あなたは指定されたURLがあると見ての通り。 しかし、私はまだエラーが発生します: Uncaught Error:ServerProxyを使用していますが、URLを提供していません。 );
例えばAjaxProxyまたはRestProxyを使用して、同じ動作が:(
定義したactionMethodがデフォルト値なので、これは何も変更されません。私はちょうど.save()モデル "インスタンス"をしたかった。これがエラーの発生場所です。私はsync()を行うことができますが、これは私がバックエンドでデータを更新できるURLを呼び出さないでしょう。 あなたの答えに感謝しますが、それは問題を解決しません:( – hering
私はそれらが明示的に設定するまで、彼らがデフォルトであるように見えますが、それは実際にはその方法ではありませんでした。私はそれらを設定した後、私はDELとPUTリクエストを取得し始めました。 – ballmw