Я чувствую себя совершенно глупо, потому что я потратил два часа на решение задачи, которая должна быть очень простой и которую я решал много раз раньше. Но теперь я даже не уверен, в каком направлении копать.пустое тело ответа в ajax (или 206 частичное содержание)
Я не могу получить статический контент с помощью ajax с локальных серверов (Apache и Mongrel). Я получаю ответы 200 и 206 (в зависимости от сервера), пустой текст ответа (хотя заголовок Content-Length всегда правильный), firebug показывает запрос красным цветом.
Javascript является очень общим, я получаю те же результаты, даже здесь: http://www.w3schools.com/ajax/tryit.asp?filename=tryajax_first (просто изменить расположение документа на «http://localhost:3000/whatever») Таким образом, это, вероятно, не является причиной.
Ну, теперь у меня нет идей. Я также могу опубликовать http-заголовки, если это поможет.
Спасибо!
Response Headers
Connection close
Date Sat, 01 May 2010 21:05:23 GMT
Last-Modified Sun, 18 Apr 2010 19:33:26 GMT
Content-Type text/html
Content-Length 7466
Request Headers
Host localhost:3000
User-Agent Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language en-us,en;q=0.5
Accept-Encoding gzip,deflate
Accept-Charset ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive 115
Connection keep-alive
Referer http://www.w3schools.com/ajax/tryit_view.asp
Origin http://www.w3schools.com
Response Headers
Date Sat, 01 May 2010 21:54:59 GMT
Server Apache/2.2.14 (Unix) mod_ssl/2.2.14 OpenSSL/0.9.8l DAV/2 mod_jk/1.2.28
Etag "3d5cbdb-fb4-4819c460d4a40"
Accept-Ranges bytes
Content-Length 4020
Cache-Control max-age=7200, public, proxy-revalidate
Expires Sat, 01 May 2010 23:54:59 GMT
Content-Range bytes 0-4019/4020
Keep-Alive timeout=5, max=100
Connection Keep-Alive
Content-Type application/javascript
Request Headers
Host localhost
User-Agent Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language en-us,en;q=0.5
Accept-Encoding gzip,deflate
Accept-Charset ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive 115
Connection keep-alive
Origin null
ОБНОВЛЕНО:
Я нашел проблему, речь шла о кросс-доменных запросов. Я знал, что есть ограничения, но думал, что они расслаблены для локальной файловой системы и локальных серверов. (и ожидаемое более подробное сообщение об ошибке, в любом случае)
Спасибо всем!
Спасибо за заголовки, но сам код JavaScript будет наиболее полезным. – icio
Это может быть даже пример на w3schools, о котором я говорил. Вы отправитесь туда, измените «ajax_info.txt» на свой локальный url, нажмите «Изменить и нажмите меня», а затем «Изменить содержимое». Теперь вы можете увидеть запрос в firebug. –
Если вы решили проблему самостоятельно, предпочтительный способ показать, что в Stack Oveflow необходимо написать свое решение в качестве ответа, а затем пометить свой ответ как принятый. Это также предотвратит появление вашего вопроса на странице «Без ответа». –