Это вопрос относительно этого .
В UPDATE IIя добавил сценарий, основанный на отзывах Джейми.
ОБНОВЛЕНИЕ – tl;dr:
Я создал скрипт с временным ключом, чтобы вам было легче увидеть проблему: http://jsfiddle.net/S6wEN/.
Так как этот вопрос стал слишком длинным, это краткое изложение.
Подробную информацию можно найти ниже.
Спасибо.
У меня есть этот HTML-код:
Итак, у меня есть форма для загрузки изображения в imgur через междоменный XHR. Чтобы справиться с неприятными деталями, я использую Jquery Form Plugin, который хорошо работает. Однако, когда я пытаюсь отправить изображение в imgur и получаю ответ в формате xml, он не работает должным образом в IE9 (я не проверял в IE8, но не ожидаю хороших новостей). Он отлично работает в Chrome и Firefox.Это часть javascript:
(function() {
$('#uploadForm').ajaxForm({
beforeSubmit: function(a,f,o) {
o.dataType = $('#uploadResponseType')[0].value;
$('#uploadOutput').html('Submitting...');
},
complete: function(data) {
var xmlDoc = $.parseXML( data.responseText ),
$xml = $( xmlDoc );
$('#uploadOutput').html($xml.find('type'));
}
});
})();
В IE9 я получаю следующие ошибки:
SCRIPT5022: Invalid XML: null
jquery.min.js, line 2 character 10890
XML5619: Incorrect document syntax.
, line 1 character 1
Я также использовал пример, приведенный на странице Jquery Form Plugin, который использует только Javascript, но это не помогает. Очевидно, первая ошибка, относящаяся к Jquery, исчезает, но я не могу получить ожидаемые результаты (в данном случае image/jpeg
в div с id="uploadOutput"
).
Когда я смотрю на консоль в IE9, я получаю это:
URL Method Result Type Received Taken Initiator Wait Start Request Response Cache read Gap
http://api.imgur.com/2/upload.xml POST 200 application/xml 1.07 KB 7.89 s click 2808 93 5351 0 0 0
и как основной ответ:
xMCdD
Nb7Pvf3zPNohmkQ 2012-03-17 01:15:22
image/jpeg false 1024 768208053 0 0 http://i.imgur.com/xMCdD.jpg http://imgur.com/xMCdD
http://imgur.com/delete/Nb7Pvf3zPNohmkQ
http://i.imgur.com/xMCdDs.jpg
http://i.imgur.com/xMCdDl.jpg
, что все в порядке, но по какой-то причине я не могу обработать эту информацию на HTML-странице. Я проверил XML, просто чтобы убедиться, что проблема не в нем. Это действительно, конечно.
Итак, в чем проблема с IE9?
ОБНОВЛЕНИЕ:
Еще один способ получить XML, который работает в Chrome и Firefox, но не в IE9:
(function() {
$('#uploadForm').ajaxForm({
dataType: "xml",
beforeSubmit: function(a,f,o) {
o.dataType = $('#uploadResponseType')[0].value;
$('#uploadOutput').html('Submitting...');
},
success: function(data) {
var $xml = $( data ),
element = $($xml).find('type').text();
alert(element);
}
});
})();
ОБНОВЛЕНИЕ 2:
Заранее спасибо.