Ich arbeite mit Sencha extjs 4.1.3 und meine Frage ist: - Ich habe ein Modell und ein Geschäft in meiner Anwendung, aber ich habe zwei URLs von wo ich Daten abrufen muss, beide URLs haben Daten im gleichen Format wie kann ich meinen Laden mit zwei verschiedenen URLs laden? Bitte schlagen Sie vor, wie diese erreicht werden können.können wir mehrere Proxies in einem Geschäft in Sencha Extjs haben?
Antwort
Wenn Sie den Laden von zwei verschiedenen URLs füllen wollen, aber nur einen nach dem anderen, können Sie immer die Proxy-URL in Ihrem Ladeaufruf außer Kraft setzen:
store.load({
url:'theOtherUrl'
});
Beispiel: https://fiddle.sencha.com/#fiddle/1ej9
Wenn Wenn Sie wollen, dass die Daten von zwei URLs im selben Speicher sind, können Sie entweder zwei Speicher erstellen, die ihren Inhalt in einen dritten kopieren (damit Sie die beiden Serveraufrufe gleichzeitig ausführen können), oder Sie können die erste URL aufrufen und Bei Erfolg rufen Sie die zweite URL mit der addRecords
Option an:
store.load({
url:'theFirstUrl',
success:function() {
store.load({
url:'theSecondUrl',
addRecords:true
});
}
});
Wenn Sie die Daten von zwei URLs wollen im gleichen Speicher sein, tun, was Sie können, ist beim Laden von Daten in die Speicher in Erfolgsfunktion:
var store = Ext.getStore("store name")
store.loadRawData(data,true)
wieder beim Laden von Daten aus dem zweiten URL Verwenden Sie denselben oben angegebenen Code. Vergessen Sie nicht, beim Laden von Daten in store.true "true" zu verwenden, um die Datensätze zu den vorhandenen Datensätzen im Speicher hinzuzufügen, false
, um die alten zuerst zu entfernen.