2011-09-28 85 views
0

免責聲明:可能是一個瘋狂的問題,但我遭受了很多,所以來到這裏。如何調試Javascript + PHP + Web服務

我正在使用JS + PHP + Web服務(在Spring中編寫)的遺留應用程序。應用程序的
流量:
每當任何Web服務從JS把它稱爲被重定向到一個PHP文件。 php文件對用戶進行身份驗證(使用一個Web服務),然後將請求轉發給實際的Web服務。

如何調試此應用程序?我使用Firebug和servr端代碼使用Eclipse調試JS,但從未調試過這樣的應用程序。

〜Ajinkya。

+0

對於php,'var_dump'對我來說已經足夠了。 – xdazz

+0

@xdazz:但我想調試完整的應用程序,就像我想查看數據如何在JS,PHP和Web服務之間流動,並想檢查許多其他事情。在這種情況下'var_dump'可能不夠用。 – xyz

回答

2

我認爲有很多事情需要完成,我必須說這個問題已經足夠一般,因此沒有直接的答案,所以我會盡我所能。正如xdazz提到的,從PHP的角度來看,var_dump(和die)是必需的。

每當有任何東西返回到JS console.log它。另外,請確保爲Firebug啓用XHTTP請求,或者在Chrome網絡標籤中查看每個請求的輸出。

使用console.log,var_dumpdie的組合,您可以一步一步地重複跟蹤應用程序的非功能部分,直到遇到錯誤。

或者,從長遠來看,您應該這樣做,將錯誤處理代碼構建到僅在調試標誌設置爲true時激活的所有PHP代碼中。通過這種方式,您可以獲得詳細的錯誤消息,然後在部署時關閉它們以避免危及安全性。

+0

感謝您的建議。會嘗試這個東西。 – xyz

+1

另請參見:扔在wireshark或提琴手尋找正在提出的實際要求 –

2

如果您需要在場景中檢查Web服務請求的整個生命週期,則需要結合多種技術。考慮到您的方案範圍跨越客戶端到服務器的事實,您需要決定將持續保存需要檢查的信息。

就我個人而言,我會選擇阻力最小的路徑,在我的情況下可能是cookies。據說你應該可以按照時間順序通過JavaScript和PHP記錄必要的信息,包括請求之前,之中和之後,甚至發生重定向。

這個策略將允許記錄cookie的信息然後通過JavaScript,WebKit檢查器或Firebug轉儲或分析。再次,這可能是我如何處理這種情況。最後,您可以將不同的存儲策略應用於此技術,例如使用會話或數據庫來實現持久性。

注意:您可以使用諸如WebKit Inspector和Firebug之類的東西來分析GET,POST甚至WebSocket請求發送和接收的數據。

+0

謝謝你。看起來像有很多選項:) – xyz

+0

我選擇使用我描述的方法,只是因爲我最終得到一個包含關於請求的整個生命週期的時間順序信息的cookie。這使我能夠快速,輕鬆地將我從JavaScript登錄到PHP的所有內容都轉存到您的案例中,並且您還可以獲取與後臺發生的重定向有關的信息。 –