AJAXプロキシがHTTP要求を生成したかどうかを検出する方法が挿入/更新または削除操作であるかどうかはわかりません。Sencha Touch 1.1でAJAXプロキシを使用してストアからレコードを削除する
これらは(simpsons.json)私のデータです:
[
{
"id": 1,
"firstName": "Homer"
},
{
"id": 2,
"firstName": "Marge"
},
{
"id": 3,
"firstName": "Bart"
},
{
"id": 4,
"firstName": "Lisa"
}
]
これは私の煎茶タッチ1.1のコードです:このコードを実行する
Character = Ext.regModel('Character', {
fields: [
{name: 'id', type: 'int'},
{name: 'firstName', type: 'string'}
]
});
SimpsonsStore = new Ext.data.Store({
model: 'Character',
proxy: {
type: 'rest',
url: 'simpsons.json'
},
autoLoad: true
});
SimpsonsStore.on('load', function(store, records, success) {
// add record
store.add({id: 5, firstName: 'Maggie'});
// update record
var margeRecord = store.findRecord('firstName', 'Marge');
margeRecord.set('firstName', 'Marjorie');
// delete record
var homerRecord = store.findRecord('firstName', 'Homer');
store.remove(homerRecord);
// sync store
store.sync();
});
は、これらのHTTPリクエストを生成します。
POST /simpsons.json/5?_dc=1321377134028 HTTP/1.1
{"records":[{"id":5,"firstName":"Maggie"}]}
。
PUT /simpsons.json/2?_dc=1321377142625 HTTP/1.1
{"records":[{"id":2,"firstName":"Marjorie"}]}
。
DELETE /simpsons.json/1?_dc=1321377148457 HTTP/1.1
{"records":[{"id":1,"firstName":"Homer"}]}
同様に、各操作には独自のHTTP要求メソッド(動詞)があります。
私は「AJAX」に「休む」生成されたHTTP要求からプロキシタイプを変更するこれらのようになります。
POST /simpsons.json?_dc=1321376787918 HTTP/1.1
{"records":[{"id":5,"firstName":"Maggie"}]}
。
POST /simpsons.json?_dc=1321376792207 HTTP/1.1
{"records":[{"id":2,"firstName":"Marjorie"}]}
。
POST /simpsons.json?_dc=1321376798158 HTTP/1.1
{"records":[{"id":1,"firstName":"Homer"}]}
これらは非常によく似ています。これは、挿入操作または更新操作の問題ではありません。しかし最後のHTTP要求がであることをバックエンドが検出して、挿入も更新もしないが、の削除アクションをどのように検出できるか?
Sencha Touch 2.0でExt JS 4に存在する「api」設定オプションが見つかりましたが、Sencha Touch 1.1のAJAXプロキシの特定のアクションに異なるURLまたはパラメータを定義する方法が見つかりませんでした。
助けてください。
おかげで、
ウーヴェ
感謝を。私はすでにこれを読んでいます。これらの例はすべて、プロキシのreadメソッドにパラメータとしてこのようなカスタム操作を渡す方法を示しています。しかし、私は、そのシンクメソッドを呼び出す店で働いています。私は、これらの例が、生成されたHTTPリクエストをそのアクションに応じて区別するのに役立つことがわかりません。お知らせ下さい。 – urk