如果我无法帮助您解决此问题,我将删除此答案,但我想这样发布,以便您更好地阅读我的建议。
首先将您的HandleResponse
功能更改为:
function HandleResponse(response)
{
console.log(response);
document.getElementById('ResponseDiv').innerHTML = response;
}
并在萤火虫中发布出现在错误上方的结果。
我们在这里所做的是为我们添加一种方法来查看是否有任何数据实际上是从 AJAX 请求返回的。调用console.log
告诉浏览器将给定的参数打印到控制台(在你的情况下,萤火虫)。
更新 1
在您的评论中,您说当您记录response
. 这意味着您没有从服务器收到任何反馈(至少在数据方面)。
我的下一个建议是您将调用更改MakeRequest
为以下内容:
<input type='button' id="test" onclick='MakeRequest("*");' value='Global Highscore Table'/>
像以前一样,在方法中保留该console.log
行HandleResponse
,然后在 firebug 中发布错误上方出现的结果。
在这里,我们设置您MakeRequest
发出一个传递通配符查询参数的请求。在提出这个建议时,我没有意识到请求的文件需要两个参数,也没有意识到传递通配符会使脚本出错。但是,这仍然是一件好事,因为我们发现了一个新错误,它告诉我们正在接收请求。
更新 2
现在,将“ajax.php”文件中的所有内容剪切并粘贴到记事本或其他类似的应用程序中。然后,将以下内容设置为“ajax.php”文件的唯一内容:
<?php echo "Request received and response sent"; ?>
再次,发布console.log
.
在这里,我们从修复复杂的代码后退了一步,我们将回到基础。在这里,我们要做的就是验证我们是否可以发送请求并接收响应。
如果"Request received and response sent"
作为请求的响应成功返回,那么我们知道错误出在 ajax.php 中,而不是在请求中。如果不是,我们知道请求存在问题(无论是服务器问题还是请求本身)。如果是后者,ajax.php 仍然可能有问题,但我们必须先修复请求。
更新 3(最终解决方案)
发现问题是由于在本地服务器上未正确运行。