У меня есть странная проблема, которую я не могу решить после нескольких часов поиска в Google.Способ создания моего веб-приложения не очень оптимален, но сейчас я ничего не могу с этим поделать.
Я создал пользовательский элемент управления в C #.Этот пользовательский контроль размещается на странице aspx, которая находится внутри iframe, и эта страница снова находится внутри фрейма.(Не оптимально).
Но я думаю, что единственная важная вещь - это внешняя рама.Страница хостинга находится в другом домене, чем другие страницы / части.
Внутри этой рамки находится мой код.У меня есть JQuery скрипты, которые обновляют данные при обнаружении новых данных на сервере.Для получения данных я использую jquery-ajax.
var indexURL = "/data/indexProxy.aspx";
__LOG("Lets get the XML");
$.ajax({
url: indexURL,
type: 'GET',
dataType: 'xml',
contentType: "text/xml; charset=\"utf-8\"",
error: function(request, error) {
alert('Error loading XML document' + request + error);
},
success: function(xml) {
__LOG("ajax success...");
OnSucceededXml(xml);
}
});
Функция __LOG просто записывает в консоль firebug.
Так что этот код работает отлично, пока что-то не произойдет.Не совсем уверен, как это происходит, но иногда, когда функция дает сбой или нарушается, она просто перестает работать.Я думаю, что это связано с перезагрузкой страницы внутри функции ajax.
После этого функция успеха никогда не срабатывает.В потреблении firebug я вижу сообщение «Давайте получим XML», я вижу, что ajax-вызов - это триггеры и возвращает 200 или 304 (без изменений).Но __LOG внутри успеха не вызывается ни функцией.
Чтобы заставить его работать снова, я должен полностью перезапустить Firefox и иногда очистить кеш.
Если я открою страницу, которая находится внутрирамка другого домианина, за рамкой, все снова работает, но я не могу сделать это как часть приложения.
Кто-нибудь испытал что-то подобное?Кроме того, я не думаю, что это относится к jquery, так как я использовал некоторые вещи, похожие на более старые сценарии.
Спасибо
Endre