2013-05-27 2 views
3

Я работаю с blueimp с user_dirs (каталоги загрузки на основе сеансов).Отладка проблемы IE с blueimp (загрузка файла jQuery)

Когда загрузка завершена в FF, Chrome, Safari и т. Д. Я вижу, что миниатюра отображается.

В IE 9 после завершения загрузки я вижу «Error SyntaxError: Invalid character». Панель IE Dev не показывает ошибок. И ... если я обновляю эскиз, и загрузка удалась.

В IE 8 это то же самое, но я получаю сообщение об ошибке «Error [object Error]», и если обновление обновлено, я вижу, что загрузка выполнена успешно, миниатюра присутствует и связана.

Если я тяну получил JSON с помощью Chrome я вижу записи, как это:

{ 
    "files": [{ 
     "name": "us (1).jpg", 
     "size": 40294, 
     "type": "image\/jpeg", 
     "url": "http:\/\/upload.mysite.com\/uploads\/9cb5b4df96928f247b5bce2d4ed8a300\/us%20%281%29.jpg", 
     "thumbnail_url": "http:\/\/upload.mysite.com\/uploads\/9cb5b4df96928f247b5bce2d4ed8a300\/thumbnail\/us%20%281%29.jpg", 
     "delete_url": "http:\/\/upload.mysite.com\/blueimp\/server\/php\/?file=us%20%281%29.jpg", 
     "delete_type": "DELETE" 
    }] 
} 

Каков мой следующий шаг для отладки это? Есть ли способ получить доступ к фактической ошибке в панели разработчиков IE?

// 5,29 12:27 CST Update

Когда IE используется он получал 404 на /cors/result.html в main.js:

$('#fileupload').fileupload(
     'option', 
     'redirect', 
     window.location.href.replace(
      /\/[^\/]*$/, 
      '/cors/result.html?%s' 
     ) 
    ); 

Когда обновлена ​​правильно путь:

$('#fileupload').fileupload(
     'option', 
     'redirect', 
     window.location.href.replace(
      /\/[^\/]*$/, 
      '/blueimp/cors/result.html?%s' 
     ) 
    ); 

я теперь получить «Ошибка результат загрузки Пустой файл», но в соответствии с перед тем, как обновление показывает загрузку удалось ...

Найдено 404 файлов: jquery.xdr-transport.js

Исправленный путь, и теперь все хорошо.

// Конец обновления

+1

В IE вы можете попробовать вкладку «Сеть F12» и «Запустить захват», чтобы увидеть фактический запрос/ответ, если вы еще этого не сделали. Сравните заголовки для типа и длины контента и фактического кодирования данных с данными из Chrome и посмотрите, можете ли вы выявить какие-либо очевидные различия? – Klors

+1

Oy! Трудный урок для изучения - я как-то пропустил, что IE 9 имеет вкладку «Сеть» на панели разработчиков. Найдено 404 с IE только jquery.xdr-transport.js. – jerrygarciuh

+0

Пожалуйста, добавьте свой ответ в ответе! Вы получаете причудливые пинты. Очень уместен для урока. – jerrygarciuh

ответ

9

В IE можно попробовать вкладку и Start Capturing F12 Network, чтобы увидеть фактический запрос/ответ, если вы еще не сделали. Сравните заголовки для типа и длины контента и фактического кодирования данных с данными из Chrome и посмотрите, можете ли вы выявить какие-либо очевидные различия?

+0

Это говорит: «Ты можешь наградить свою награду за 22 часа». Будет добавлен в мой календарь на завтра. Опять же - спасибо! – jerrygarciuh

+0

Не беспокойтесь, вы сделали всю тяжелую работу :) – Klors

1

Мой способ решить эту проблему для IE 9 состоял в том, чтобы загрузить папку «cors» на веб-сайт. Эта папка содержит файлы postmessage.html и result.html. После использования инспектора в IE 9 становится ясно, что IE 9 использует этот result.html для получения ответа на загрузку с сервера через GET. Так как я не включил эту папку в свои файлы на сервере, у меня возникла эта проблема, только в IE 9. После анализа журнала ошибок сервера и чтения 404-сообщения на сетевой панели инспектора IE 9 я добрался до этого решения.

1

Другая причина, по которой вы можете видеть 404 ответа при загрузке, связана с длиной запроса, установленной в приложении, получающем опубликованные файлы.

Смежные вопросы