2014-02-03 3 views
0

Я использую следующий код Ajax для получения размера удаленного файла:Как получить заголовок неудачной АЯКС запроса

request = $.ajax({ 
type: "HEAD", 
url: vurl, 
success: function() { 
    var vsize = request.getResponseHeader("Content-Length"); 
    alert("Size is " + vsize); 
    }   
}); 

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

Accept-Ranges bytes 
Alternate-Protocol 80:quic 
Cache-Control private, max-age=23114 
Content-Length 655680 
Content-Type video/3gpp 
Date Mon, 03 Feb 2014 21:35:10 GMT 
Expires Mon, 03 Feb 2014 21:35:10 GMT 
Last-Modified Tue, 13 Mar 2012 13:30:30 GMT 
Server gvs 1.0 
x-content-type-options nosniff 

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

+1

Очевидно, что ваш обработчик 'success' не запускается, если вызов действительно не выполняется, поэтому попробуйте добавить обработчик' error'. Конечно, было бы лучше выяснить, почему это не работает ... –

+0

Я уже пробовал, что :( – user2572943

ответ

0

Используйте PHP прокси: http://benalman.com/projects/php-simple-proxy/

Почему использовать Simple PHP Proxy?

  • Запрошенные URL-адреса могут быть перечислены в белом списке и проверены на соответствие регулярному выражению.
  • Необязательно пересылать файлы cookie клиентов/SID на удаленный сервер.
  • Необязательно перенастраиваемый пользовательский агент на удаленный сервер.
  • Запросы могут использовать либо методы запроса GET, либо POST.
  • Удаленные данные могут быть доставлены как есть со всеми удаленными заголовками без изменений (отключено на по умолчанию для ограничения уязвимостей XSS).
  • Удаленные данные могут быть обернуты в структуру JSON/P, которая содержит коды состояния и удаленные заголовки (JSONP отключен по умолчанию для ограничения злоупотребления).
  • При использовании JSON/P и удаленных данных действителен JSON, он будет объединен с результирующим объектом данных.
+0

большое спасибо за это .... Он решит мою проблему – user2572943

+0

рад, что я мог бы помочь – redaxmedia

0

Некоторые серверы доступа Disallow к ГОЛОВЫ, попытайтесь работать Arround с использованием полного обратного вызова:

complete: function (xhr) 
{ 
    var fileSize = xhr.getResponseHeader('Content-Length'); 

    console.log(fileSize); 
} 
+0

console response is null :( – user2572943

+0

Вы могли бы указать адрес файла? – redaxmedia

+0

http: // r16 --- sn-cvh7zn7k.googlevideo.com/videoplayback?ms=au&ratebypass=yes&id=f9976767cb796368&sparams=id,ip,ipbits,itag,ratebypass,source,upn,expire&mt=1391465723&sver=3&expire=1391490324&source=youtube&upn=8uiVyZBBGIE&fexp=934701,916602,930102, 916626,936110,941504,936910,936913 & ipbits = 0 & ключ = yt5 & ф = 59.89.129.158 & ITAG = 43 & мв = м и подпись = 8E7A9FF3468041895AB681888CEF363886B2E2E6.4ECB5A3914D13EC93E490B0BF1F8DF59F36976C9 – user2572943

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