我正在使用webrick在开发模式下运行我的rails应用。该页面包括4-5个javascript文件,这些文件也由同一个webrick实例提供服务。
当我在ie6上加载页面时,javascript文件似乎在前几行之后被截断了--有人能解释一下吗?例如,如果页面包含此脚本标记:
<script type="text/javascript" src="http://myserver:3200/javascripts/jquery.js"></script>当页面在ie6中加载时,它会引发javascript语法错误,Visual Web Developer (VWD)允许我打开加载的jquery.js文件,它只显示前30行,然后就停止了。
在运行ie6的同一台机器上,我尝试使用/curl加载相同的jquery.js文件:
% curl --verbose "http://myserver:3200/javascripts/jquery.js"
* About to connect() to myserver port 3200 (#0)
* Trying xx.xx.xx.xx... connected
* Connected to myserver (xx.xx.xx.xx) port 3200 (#0)
> GET /javascripts/jquery.js HTTP/1.1
> User-Agent: curl/7.16.3 (i686-pc-cygwin) libcurl/7.16.3 OpenSSL/0.9.8j zlib/1.2.3 libssh2/0.15-CVS
> Host: myserver:3200
> Accept: */*
>
< HTTP/1.1 200 OK
< Connection: close
< Date: Thu, 14 May 2009 21:35:09 GMT
< Content-Length:
< Last-Modified: Wed, 13 May 2009 20:38:23 GMT
< Content-Type: application/javascript
<
* Closing connection #0因此,当我通过curl访问页面时,不会从服务器返回任何内容。与wget相同。
但是,如果我加载页面,甚至在firefox或chrome中加载单独的javascript文件,它会加载全部内容。所以在webrick和ie6之间有一些奇怪的交互,同样的w/ curl/wget。我尝试过的另一个测试是:
% telnet myserver 3200
GET /javascripts/jquery.js HTTP/1.1
Accept: */*
HTTP/1.1 200 OK
Connection: close
Date: Thu, 14 May 2009 21:43:01 GMT
Content-Length:
Last-Modified: Wed, 13 May 2009 20:38:23 GMT
Content-Type: application/javascript
/*!
* jQuery JavaScript Library v1.3.2
....这样就成功了,返回了完整的文件内容。我不知道为什么它不能加载ie6 / curl / wget。有什么建议吗?
发布于 2009-05-14 22:33:00
嗯..。"gem install mongrel",重启script/server,突然就能工作了。显然,这是一个was砖块问题,通过使用mongrel修复。
发布于 2009-05-14 21:58:57
空Content-Length报头可能是罪魁祸首。我会集中精力找出为什么Webrick没有返回内容长度。
https://stackoverflow.com/questions/866010
复制相似问题