2013-12-12 29 views
0

我正在開發一個Symfony2平臺的應用程序,它在某個時刻對文檔做好了簡單的AJAX請求。Symfony2,jQuery Ajax請求,Web調試工具欄,500內部服務器錯誤

jQuery.ajax({ 
    url: 'test.php', 
    type: 'POST', 
    data: { 
     'test': 'test' 
    }, 
    success: function(response){ 
     jQuery('div#container').html(response); 
    } 
}); 

的問題是,在app_dev.php,其中所述調試工具欄被加載時,一個500錯誤倒掉。 更準確地,從「test.php的」文件中的AJAX響應被接收,並且在div容器加載,但然後,當它試圖加載工具欄,我收到警報消息:

「的錯誤加載Web調試工具欄時發生(500:內部 服務器錯誤)。是否要打開分析器?「

如果我打開分析器,我沒有看到任何錯誤。

如果我打開工具欄的XHR請求,則顯示的FastCGI 500錯誤:

模塊FastCgiModule

通知ExecuteRequestHandler

處理程序PHP54_via_FastCGI

錯誤代碼0x000000ff

如果我不嘗試製作AJAX請求,則工具欄加載沒有問題。

如果我在工具欄加載完成後用手發出請求(按鈕上的事件),再次沒有問題。如果我在加載工具欄之前手動發出請求(按鈕上的事件),則會拋出錯誤。

注:

  1. 此錯誤只發生在本地機器上(與ISS 7.5,PHP 5.4.14)。在生產服務器(IIS服務器8.0,相同和PHP)上,AJAX請求已生成,並且工具欄加載沒有問題。我已經用生產服務器上的php.ini替換了本地機器上的php.ini - 同樣的問題。

  2. Initialy AJAX請求正在加載一個簡單的包控制器方法的結果,但後來我嘗試了一個簡單的PHP文件'test.php',同樣的問題。

  3. 我嘗試過發佈並獲取方法來提出請求。

有沒有人有任何想法出了什麼問題?

這不是一個嚴重的問題,因爲我有多個選項來開發這個應用程序,但正在竊聽我,我已經失去了足夠的時間。 PS:如果它有所不同,在同一臺機器上,我開發了一個應用程序 - 沒有框架 - 使多個同時發生的ajax請求。

回答

1

以下不會解決您的錯誤,但提供了一種可能的方式來實現您的需要。看起來你想異步加載你的網站的一部分,Symfony2提供了一個解決方案:ESI渲染。 該文檔在這裏:http://symfony.com/doc/current/book/templating.html#asynchronous-content-with-hinclude-js

此方法將創建一個ajax調用,然後纔會呈現您的頁面。

+0

解決方案非常棒,但正如您所說,並不能解決我的問題。我認爲,這個問題與我的服務器配置以及Symfony相關。我知道,這聽起來很奇怪。我的ajax調用和Symfony異步呈現的區別在於,在我的AJAX調用中,FastCGI 500錯誤僅在工具欄加載時引發,使用Symfony異步呈現時,錯誤隨機拋出,其中之一(控制器或tollbar )。 – stef

相關問題