3

我是一名初学者 Web 开发人员,特别是使用 PHP 和一些前端技术(HTML、CSS、JS/JQuery)。我发现在某些情况下,很难找到 PHP 代码中的错误。以下是其中一个示例:

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

我的问题是:如果我在上述情况下在 PHP 页面中使用echo ,输出将驻留在哪里?我认为所有这些类型的输出都应该存在一些日志文件。另外,如果 JavaScript 中存在一些 bug,有没有什么技巧可以快速定位 bug?

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

4

5 回答 5

5

当您运行 AJAX 时(从您的问题来看,听起来就是这样),jQuery 所做的只是“为您”请求页面。因此,您可以直接看到输出,jQuery 会为您“捕获”它。AJAX 请求只不过是一个普通的 HTTP 请求,只是在后台,所以你不会看到它。

所以; 当您“回显”某些内容时,它只会由 jQuery 处理并因此发送到您的浏览器

有一些工具,如firebug,可以让您查看来自 ajax 消息的请求和响应,从而也显示可能的错误或不同的输出。它是一个全能的调试器,因此您还可以查看呈现的 HTML 和/或 JavaScript 错误。

于 2013-04-24T08:55:49.203 回答
1

如果您使用的是 PHPstorm,我建议您看一下Xdebug。您必须从服务器启用 Xdebug 模块,并且可以使用断点和变量 Watches 管理 php。

于 2013-04-24T09:06:03.060 回答
0

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

于 2013-04-24T08:58:36.607 回答
0

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

于 2013-04-24T08:58:47.720 回答
-1

具体回答您的问题;您示例中的输出echo将在对发布请求的响应中。通常这将是页面重新加载,但在 ajax 请求中(如您所述)您不会得到。

使用浏览器开发工具,例如 chrome 中的 Inspector 或 Firefox 中的 firebug,以允许您查看来自您发布请求的 Ajax 响应

您还可以console.log在 ajax 的成功部分中使用 Javascript 方法记录响应

$(function() {

    $.ajax({
        // snip
        success: function(response) {
            console.log(response);
        }
    });
于 2013-04-24T08:52:10.630 回答