Symfony2,jQuery Ajax请求,Web调试工具栏,500内部服务器错误

时间:2013-12-12 07:28:58

标签: ajax symfony http-status-codes

我正在使用Symfony2平台开发一个应用程序,该平台在一个时刻就文档准备好了一个简单的AJAX请求。

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. 最初AJAX请求正在加载一个简单的bundle控制器方法的结果,但后来我尝试了一个简单的PHP文件'test.php',同样的问题。

  3. 我尝试过post和get方法来发出请求。

  4. 有没有人知道出了什么问题?

    这不是一个严重的问题,因为我有多个选项开发这个应用程序,但是在烦我,我已经失去了足够的时间。

    PS:如果它有所不同,我在同一台机器上开发了一个应用程序 - 没有框架 - 可以产生多个同时的ajax请求。

1 个答案:

答案 0 :(得分:1)

以下内容不会修复您的错误,但提供了另一种可能满足您需求的方法。您似乎想要异步加载网站的一部分,Symfony2为此提供了一个解决方案:ESI渲染。 该文档位于:http://symfony.com/doc/current/book/templating.html#asynchronous-content-with-hinclude-js

此方法将创建一个ajax调用,然后才会呈现您的页面。