找不到元素FF - 在firebug中可见错误

时间:2013-04-13 19:14:10

标签: php javascript html ajax http

我正在创建一个全球高分表。 JavaScript通过一些AJAX函数和POST将用户名和分数发送给PHP。然后,PHP脚本获取变量,并将分数值与服务器上的文件进行比较。然后它将新分数放在分数表上,并重写该文件。

我昨晚工作了,但是现在,当我调用该函数时,它会显示我的代码,而firebug会给出错误,“找不到元素”。我不知道从那时到现在我做了什么,但我无法弄明白这一点。

这是我第一次使用PHP和AJAX,所以我不确定错误在哪里或是什么。 任何帮助将不胜感激!

确切错误:

Timestamp: 4/13/2013 1:59:18 PM
Error: no element found
Source File: file:///C:/wamp/www/ajax.php
Line: 84, Column: 3
Source Code:
?>

1 个答案:

答案 0 :(得分:2)

如果我无法帮你解决这个问题,我会删除这个答案,但我想这样发帖,这样你就可以更好地阅读我的建议了。

首先将HandleResponse功能更改为:

function HandleResponse(response)
{
  console.log(response);
  document.getElementById('ResponseDiv').innerHTML = response;
}

并在firebug中发布错误上方显示的结果。

我们在这里做的是为我们添加一种方法,以查看是否实际从AJAX请求返回了任何数据。对console.log的调用告诉浏览器将给定的参数打印到控制台(在您的情况下,是firebug)。

更新1

在您的评论中,您声明在记录response的值时未显示任何内容。这意味着您没有从服务器收到任何回复(至少在数据方面)。

我的下一个建议是,您将MakeRequest的呼叫更改为以下内容:

<input type='button' id="test" onclick='MakeRequest("*");' value='Global Highscore Table'/>

与之前一样,将console.log行保留在HandleResponse方法中,并将错误上方显示的结果发布在firebug中。

在这里,我们将MakeRequest设置为发出通过通配符查询参数的请求。在这个建议的时候,我没有意识到所请求的文件期望两个参数,也没有通过一个通配符会错误的脚本。但是,这仍然是一件好事,因为我们发现了一个新错误,它告诉我们正在收到请求。

更新2

现在,将“ajax.php”文件中的所有内容剪切并粘贴到您的记事本或其他类似的应用程序中。然后,将以下内容设置为“ajax.php”文件的 only 内容:

<?php echo "Request received and response sent"; ?>

再次发布console.log

的结果

在这里,我们正在修复复杂的代码,我们将回到基础。我们要做的就是验证我们是否可以发送请求并接收响应。

如果成功返回"Request received and response sent"作为请求的响应,那么我们知道错误位于ajax.php中,而不是在请求中。如果不是,我们知道请求存在问题(无论是服务器问题还是请求本身)。如果是后者,那么ajax.php仍然可能存在问题,但我们必须先修复请求。

更新3(最终解决方案)

发现问题是由于未在本地服务器上正确运行。