AJAX就绪状态4,但为空文本

AJAX就绪状态4,但为空文本,ajax,http,Ajax,Http,我使用AJAX调用一个页面,请求搜索某些内容。但是响应文本始终为空,尽管就绪状态为4 function process() { var requestPage = "http://some.page/search.php"; var xmlHTTP; var searchString = "test"; if (window.XMLHttpRequest) { xmlHTTP = new XMLHttpRequest(); } else { xmlHTTP = new Act

我使用AJAX调用一个页面,请求搜索某些内容。但是响应文本始终为空,尽管就绪状态为4

function process() {
 var requestPage = "http://some.page/search.php";
 var xmlHTTP;
 var searchString = "test";

 if (window.XMLHttpRequest) {
  xmlHTTP = new XMLHttpRequest();
 } else {
  xmlHTTP = new ActiveXObject("Microsoft.XMLHTTP");
 }

 var results;

 xmlHTTP.open("GET", requestPage + "?search=" + searchString, true);
 xmlHTTP.send();

 xmlHTTP.onreadystatechange = function() {
   results = xmlHTTP.responseText;
   alert("r: " + results + " rs: " + xmlHTTP.readyState + " st: " + xmlHTTP.status);
 }
}
我从中得到的结果是

r: rs: 2 st: 0
r: rs: 4 st: 0
因此,请求成功完成,但HTTP状态不是200但是:我使用WireShark跟踪了请求,请求的结果包显示为状态200,甚至包含请求的完整结果,请参见以下内容:

7014    190.663287  some.page   local.pc    HTTP    HTTP/1.1 200 OK  (text/html)
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Set-Cookie: JSESSIONID=xxx; Path=/xxx
Content-Type: text/html;charset=iso-8859-1
Content-Length: 3108
Date: Tue, 19 Apr 2011 13:05:41 GMT
<html>
<head>
<title>Search</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="white">
...
7014 190.663287 some.page local.pc HTTP/1.1 200 OK(text/html)
HTTP/1.1200ok
服务器:ApacheCoote/1.1
设置Cookie:JSESSIONID=xxx;路径=/xxx
内容类型:text/html;字符集=iso-8859-1
内容长度:3108
日期:2011年4月19日星期二13:05:41 GMT
搜索
...

所以,;当AJAX请求显然成功时,为什么我不能获得状态200?

因此,您的问题是您请求的页面具有不同的端口。
同源策略规定协议、端口和主机应相同。


您的页面是否与
http://some.page/search.php
?只是一个不同的端口-我自己的页面位于
some.page
上,搜索文件位于
some.page:8080
该死的。。。我已经怀疑了。。。谢谢你的提示。。。那我得想点别的办法。。。