У меня есть система, в которой есть два сервера: один активный и один пассивный. Я пишу одностраничное приложение, использующее extjs4, которое использует данные с сервера.
Когда я получаю исключение из store.load (), я хотел бы повторить попытку с другим URL.
У меня есть этот код ниже, который успешно отправляет команду на новый URL (пассивный сервер), но вместо использования GET используйте OPTIONS. Также по какой-то причине новая команда также приводит к исключению, которое вызывает бесконечный цикл.
Любая идея, что я делаю неправильно или другой способ выполнить повторную команду http для другого URL?
var store = Ext.create('Ext.data.Store', {
pageSize:25,
autoLoad: false,
model: 'VsaGui.VPool',
proxy: {
type: 'rest',
url: activeMgmtUrl + 'vsacmd.xml?cmd=list_vpools',
reader: {
totalProperty: 'vpools-count',
type: 'xml',
record: 'vpool'
},
listeners: {
exception: function(proxy, response, operation, eOpts ){
p = store.getProxy();
p.url = passiveMgmtUrl + 'vsacmd.xml?cmd=list_vpools';
p.read(operation);
}
}
}
});
Я провел некоторое исследование, и кажется, что проблема не в коде, а в том, что при повторной попытке я получаю доступ и к внешнему URL (passiveMgmtUrl = "http://192.168.1.54/").
Вот почему Firefox отправляет метод OPTIONS, и в IE9 второй запрос заканчивается «Отказано в доступе».
Так есть идеи, как подключиться к внешнему URL?