Javascript ajax中的空响应正文(或部分内容)

Javascript ajax中的空响应正文(或部分内容),javascript,ajax,http,Javascript,Ajax,Http,我觉得自己很愚蠢,因为我花了两个小时来解决这个任务,这个任务应该很简单,而且我以前解决过很多次。但现在我甚至不知道该往哪个方向挖 我无法使用ajax从本地服务器(Apache和Mongrel)获取静态内容。我得到响应200和206(取决于服务器)、空响应文本(尽管内容长度标题总是正确的),firebug以红色显示请求 Javascript非常通用,即使在这里我也得到了相同的结果: (只需将文档位置更改为“”) 所以,这可能不是原因 好吧,现在我没有主意了。如果有帮助的话,我也可以发布http头

我觉得自己很愚蠢,因为我花了两个小时来解决这个任务,这个任务应该很简单,而且我以前解决过很多次。但现在我甚至不知道该往哪个方向挖

我无法使用ajax从本地服务器(Apache和Mongrel)获取静态内容。我得到响应200和206(取决于服务器)、空响应文本(尽管内容长度标题总是正确的),firebug以红色显示请求

Javascript非常通用,即使在这里我也得到了相同的结果: (只需将文档位置更改为“”) 所以,这可能不是原因

好吧,现在我没有主意了。如果有帮助的话,我也可以发布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

已更新
我发现了一个问题,是关于跨域请求的。我知道有一些限制,但我认为它们对于本地文件系统和本地服务器来说是宽松的。(无论如何,还需要更多描述性错误消息)

谢谢大家

这似乎只是一个缓存问题。只需删除Internet Explorer中的缓存并重复您的实验。所有HTTP GET请求将被缓存。IE缓存也
ajax
响应。如果你不喜欢,你可以在URL后面加上“?p=blala”这样的文字。其中,“p”是一个将被解释为参数名称的名称,文本“blala”在每个请求中必须是唯一的。通常使用
(new Date).getTime()
构造来生成这样的“blala”。IE会“思考”,那个URL是新的,并且总是向服务器发送请求

更新:静态数据的缓存将在所有浏览器中进行,特别是在Web服务器明确允许的情况下:请参阅
缓存控制:max age=7200,public,proxy revalidate
是服务器的响应。请尝试转到并修改该行

xmlhttp.open("GET","ajax_info.txt",true);


然后单击“编辑并单击我>>”。然后,如果单击“更改内容”按钮,您将看到HTTP流量中包含的完整数据。我看不到任何时间。如果响应有“
接受范围:字节
”和“
内容范围
”如“
字节0-4019/4020
”的HTTP头,您可以在上面阅读,这意味着什么谢谢这些头,但JavaScript代码本身将是最有用的。它甚至可以作为我提到的W3S上的示例。你去那里,将“ajax_info.txt”更改为本地url,按“编辑并单击我”,然后按“更改内容”。现在,您可以在firebug中看到请求。如果您自己已经解决了问题,那么在堆栈Oveflow上显示该问题的首选方法是将您的解决方案编写为答案,然后将您的答案标记为已接受。这也将防止您的问题出现在“未回答”页面。我明白了,谢谢你可以明天接受你自己的答案。:/忘了说,我正在使用Firefox和Chrome进行测试。无论如何,清除缓存确实有助于将206转换为200,谢谢!尽管如此,它仍然不能正常工作。#对于更新#它确实删除了206,正如我所说的,但响应主体仍然是空的(请求在firebug中是红色的,我想知道它是否能说出更具体的原因)。但是谢谢你的尝试。我没有时间来处理这个效果。如果您的服务器是从internet访问的,您可以发布一个链接。或者你有另一种方法,一个人如何复制你所拥有的效果。
xmlhttp.open("GET","ajax_info.txt",true);
xmlhttp.open("GET","ajax_info.txt?p=" + (new Date).getTime(),true);