2013-04-24 53 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

相關問題