-1

我有一个正在构建的 Web 应用程序,我认为这是一个简单的Ajax功能。该应用程序在办公室的五分之四的计算机上运行良好,但一台计算机的状态达到 200 时出现问题。这也不是浏览器特定的问题。他在所有四个浏览器上都尝试了该应用程序,以及相同的IE问题。ChromeFirefoxSafari

在产品投入全面生产之前,这是我们真正必须弄清楚并纠正的事情。在那之后,我们不能到处纠正客户的计算机或试图向客户解释是他们的计算机出了问题。

那么有什么想法吗?

笔记:

  1. Ajax函数、查询脚本PHP和数据库都在同一台服务器上。
  2. 他的电脑在 Pavilion DV7 电脑上运行 Windows 7

代码:

// Pull the information from the database
get_variables = 'action=grabUnitInformation'+
'&identifier='+identifier;

var xmlhttp;
if (window.XMLHttpRequest){
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}else{
// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}

xmlhttp.onreadystatechange=function(){
if (xmlhttp.readyState==4 && xmlhttp.status==200){
    var receiver = eval('(' + xmlhttp.responseText + ')');

    // Process JSON
    alert("Got the info");
}else{
    alert("Ready state: "+xmlhttp.readyState);
    alert("Status: "+xmlhttp.status);
}
}

xmlhttp.open("GET", "http://www.mysite.com/search.php?"+get_variables, true);
xmlhttp.send();
4

1 回答 1

0

好的,我找到了让它工作的方法。

带有Ajax脚本的页面、被查询的PHP脚本和数据库都在同一台服务器上。所以..........

而不是绝对 URL:

xmlhttp.open("GET", "http://www.mysite.com/search.php?"+get_variables, true);

我将其更改为相对 URL:

xmlhttp.open("GET", "search.php?"+get_variables, true);

现在很好。可能不是最好的方法,但我还没有找到任何其他答案或帮助。

于 2012-12-05T16:20:26.463 回答