2013-04-24 270 views
3

我是一个初学者的web开发人员,特别是使用PHP和一些前端技术(HTML,CSS,JS/JQuery)。我发现在某些情况下,在PHP代码中发现错误非常困难。以下是其中一个示例:在哪里可以找到PHP输出/日志

在HTML页面中,我使用JQuery将表单提交到PHP文件以进行后端事务。由于我使用的是JQuery,所以页面不会被重定向到PHP页面,所以如果PHP代码有一些错误(甚至是一些愚蠢的语法/ SQL错误),当我们使用普通导航器测试时,很难检测到它们。

我的问题是:如果我使用在PHP页面在上述情况下呼应,其中将输出驻留?我认为应该为所有这些输出存在一些日志文件。更重要的是,如果JavaScript中存在一些错误,是否有任何技巧可以快速找到错误?

PS:我在MAC OS下使用PHPStorm作为IDE。

+0

您使用哪种浏览器? – intelis 2013-04-24 08:53:37

+0

如果** error_log **中有解析器/或致命错误,并且在使用ajax时使用chrome或firefox开发者控制台,系统自身会创建日志文件 – Shushant 2013-04-24 09:00:05

+0

@intelis我主要使用Firefox或Safari。 – 2013-04-24 09:01:14

回答

5

当您运行AJAX(这听起来这种方式从你的问题来看),所有的jQuery正在做的是请求的页面“为你”。所以相反,你可以直接看到输出,jQuery会为你“捕捉”它。一个AJAX请求只不过是一个普通的HTTP请求,只是在后台,所以你不会看到它。

因此;当你'回声'的东西,它只会由jQuery和处理,因此发送到您的浏览器

有一些工具,如firebug,允许您查看您的ajax消息的请求和响应,从而显示可能的错误或不同的输出。这是一个全能的调试器,所以你也可以看到你的HTML和/或JavaScript错误。

+0

现在看来,Firefox内置的Web开发工具与** Firebug **非常相似,尽管我不是这两种工具的大师。使用web开发者工具,我可以检查请求主体,但仍然很难在后端php代码中发现错误。 – 2013-04-24 09:05:25

+0

Firebug比内置的开发工具更有用,特别是对于ajax调试,因为它允许您查看您的请求和响应,如果您的代码页面出现错误,它也将显示任何php错误。 – Dave 2013-04-24 09:07:29

+0

@Dave是的,我现在可以看到输出内容。非常好! :) – 2013-04-24 09:23:52

-1

要专门回答你的问题;您示例中的echo的输出将在对帖子请求的响应中。通常这将是页面重新加载,但在一个Ajax请求(如你所述),你不明白。

在Firefox中使用,如检查浏览器的开发工具在Chrome或萤火虫让你看到Ajax响应从您发布的请求

您也可以使用console.log Javascript方法记录的响应,在成功的部分你的AJAX的

$(function() { 

    $.ajax({ 
     // snip 
     success: function(response) { 
      console.log(response); 
     } 
    }); 
+0

Downvoter关心评论为什么? – fullybaked 2013-04-26 07:42:37

0

当您正在开发ajax请求的PHP页面时,首先让他们在屏幕上输出结果,测试它们,然后在确定输出正确的东西时发出jquery请求

0

使用用于Firefox的“Firebug”控制台,用于Chrome的“Firebug lite”或用于IE的“F12”。你会看到控制台。在那里您可以看到正在进行的ajax请求并查看响应。

1

如果你正在使用PHP风暴,我建议你看看Xdebug。 您必须从您的服务器启用Xdebug模块,并且您可以使用断点和变量手表管理php。

+0

如果您使用的是Mac我建议您看看[http://kubyshkin.ru/posts/installing-php-xdebug-extension-on-mac-os-x-10-7-lion .html] Xdebug for Mac – Forrestoned 2013-04-24 09:08:47

+0

是的,我发现这个工具与** Zend Debugger **一起。我安装了它们,并检查它们正在运行(使用测试phpinfo()页面)。但是,我没有设法将** Xdebug **集成到我的PHPStorm中。 – 2013-04-24 09:09:17

+0

您可以轻松地将[http://www.jetbrains.com/phpstorm/marklets/]调试会话。 它在php中帮助我很多服务。 – Forrestoned 2013-04-24 09:14:12

相关问题