Плагин jQuery form - загрузка файла в другой домен
У меня есть сайт asp.net, который должен загружать файлы в обработчик из другого приложения / домена. Я использую плагин jQuery Form. При попытке создать пример в том же домене (загрузка в тот же домен) эта установка работает успешно. При попытке загрузить файл с сайта siteA на siteB я вижу в firebug, что ответ от обработчика возвращен (на вкладке Network) и является действительным, однако код никогда не входит в обработчик success, вместо этого я получаю такие ошибки в Консоль Firebug:
[jquery.form] Server abort: Error: Permission denied to access property 'document' (Error) log:
[jquery.form] cannot access response document: Error: Permission denied to access property 'document'
[jquery.form] aborting upload... aborted
В хроме это:
Unsafe JavaScript attempt to access frame with URL http://domainB/handler.ashx from frame with URL domainA. Domains, protocols and ports must match.
Теперь я осознаю тот факт, что существуют некоторые политики в отношении вызовов ajax между доменами, но кажется, что плагин jquery form просто пытается получить доступ к некоторому URL-адресу, который запрещен. У кого-нибудь есть обходной путь для этого? Любое решение, пожалуйста!:)
ОБНОВЛЕНИЕ: я закончил хакингом jquery.form, чтобы он не генерировал межсайтовое исключение, и поскольку мне не нужен фактический результат загрузки - он работает для меня!
1 ответ
Проверьте это и да, это политика того же происхождения. Есть способы обойти это, используя flash, iframes, jsonp и т. Д., Но это потребует редактирования плагина.