jQuery AJAX-вызов на сервер Java / Wicket не получает ответа в IE (6/7/8) - PullRequest
1 голос
/ 12 июля 2010

Примечание: это относится к предыдущему вопросу .

У меня есть страница Wicket, которая имеет форму с некоторыми сложными взаимодействиями на стороне клиента, для которых я решил использовать jQuery вместо Wicket (долгое обсуждение, я знаю). По сути, я просто создаю объект JSON, отправляю его через AJAX и выполняю некоторые действия после его завершения. Вызов работает нормально в Firefox, но не в любой версии IE. Я уже проверил, что нет посторонних запятых. Вот код:

var lookup = {
    'name': name,
    'description': description,
    'items': [{
        'name': itemName,
        'value': itemValue
    }]
};

$.ajax({
    type: 'post',
    url: '${callbackURL}', // This file is parsed by Wicket and receives a dynamic callback URL here. This is not jQuery!
    cache: false,
    data: {'lookup': JSON.stringify(lookup)},
    contentType: 'application/json',
    complete: function() {
        alert('This never gets called in IE!')
    }
});

Есть предложения? Спасибо!

Обновление: Похоже, моя проблема связана с кэшированием ресурсов в IE. Я поместил код без кэширования в мой HTML-файл, но кажется, что либо страница все еще кэшируется (и, соответственно, JS, на которую она ссылается), либо файл JS с моим кодом jQuery кэшируется с старый URL обратного вызова в нем, так что сервер не отвечает, потому что по этому URL больше ничего нет. Когда я удаляю красивые URL-адреса, все работает нормально (потому что каждый раз, когда Wicket генерирует URL-адрес, он уникален). И все же, разве функция complete не должна вызываться, даже если нет ответа от сервера?

Ответы [ 2 ]

0 голосов
/ 19 августа 2015

Это было связано с агрессивным кешированием IE. Это было решено добавлением уникально сгенерированного параметра в URL, чтобы браузер каждый раз думал, что это новый URL.

0 голосов
/ 12 июля 2010

Можете ли вы опубликовать код, который вы используете для вызова AJAX, и можете ли вы объяснить, как он не работает в IE?Является ли запрос AJAX вызова не выполняемым в IE, запрос возвращает ошибку, есть ли проблема с обработкой ответа?

Обычно это может быть связано с посторонними запятыми, но вы уже исключили их, поэтому я думаю, что для того, чтобы мы нам помогли, требуется больше информации.

...