Php 开发环境中的Symfony2和AJAX错误处理
在开发模式下使用Symfony2非常有用:如果软件中出现任何错误,将显示“重影”,并显示一个非常有用的错误屏幕,其中包含解决该错误的所有详细信息 但是,如果使用Ajax而不是提交表单直接调用bundle操作,则这不起作用;使用firebug,我看到,在程序出错的情况下,会截获bug并准备一个错误页面;尽管如此,还是没有显示任何内容,只是中止了AjaxPhp 开发环境中的Symfony2和AJAX错误处理,php,ajax,forms,symfony,Php,Ajax,Forms,Symfony,在开发模式下使用Symfony2非常有用:如果软件中出现任何错误,将显示“重影”,并显示一个非常有用的错误屏幕,其中包含解决该错误的所有详细信息 但是,如果使用Ajax而不是提交表单直接调用bundle操作,则这不起作用;使用firebug,我看到,在程序出错的情况下,会截获bug并准备一个错误页面;尽管如此,还是没有显示任何内容,只是中止了Ajax 有人遇到过同样的情况并知道如何解决吗?这比我想象的要简单:使用jquery“fail”,我可以简单地执行以下操作,因为symfony2错误页面对象
有人遇到过同样的情况并知道如何解决吗?这比我想象的要简单:使用jquery“fail”,我可以简单地执行以下操作,因为symfony2错误页面对象是在jqXHR中返回的(假设“ajaxexample”是在jquery中使用“$.ajax(…)”函数创建的)
这将打开一个显示symfony2错误页面的新文档。通常在AJAX请求中,您有相同的异常信息,但没有格式化。如果您没有收到此信息,Symfony可能无法管理此错误。请检查您的apache日志并粘贴任何有用的信息:)祝贺您的修复!当你有能力时,请确保将你的答案标记为“已接受”,以便其他人能够从你的成功中学习。干杯~
ajaxexample.fail(function(jqXHR, textStatus)
{
var newWindow = window.open();
if (newWindow != null) newWindow.document.write(jqXHR.responseText);
});