Symfony 2:jQuery Ajax,获取500内部服务器错误

Symfony 2:jQuery Ajax,获取500内部服务器错误

问题描述:

我正在使用jQuery ajax的某些功能,如用户点击“获取代码”按钮,ajax请求是对symfony2控制器操作之一。当我尝试它时,我收到500内部错误,当我检查萤火虫控制台。Symfony 2:jQuery Ajax,获取500内部服务器错误

这里的(使用FOSJsRoutingBundle)Ajax代码:

<script type="text/javascript"> 
$(document).ready(function() { 
    var locale = '{{ app.request.get('_locale') }}'; 
    $('.codeBtn').click(function(){ 
     $.ajax({ 
      url: Routing.generate('gd_getcode',{ '_locale': locale}), 
      success: function(html){ 
      alert("Successful Response from server"); 
      } 
     }); 
    }); 
}); 

这里是我的控制器操作:

public function getCodeAction() 
{ 
    if ($this->container->get('request')->isXmlHttpRequest()) { 
     $code = rand(1,9999); 
     $this->getUser()->setAttribute('transactionCode', $code); 

     $message = \Swift_Message::newInstance() 
        ->setSubject("Code") 
        ->setFrom('[email protected]') 
        ->setTo('[email protected]') 
        ->setBody($code); 
       $this->get('mailer')->send($message); 

     return true; 

    } 

} 

有什么不对的在我的代码还是我缺少任何阿贾克斯设置参数。

+1

错误500意味着任何服务器端的问题,导致没有响应...你可以调试它的工具,如Firefox的FireBug,在Console选项卡,您可以检查由Symfony异常处理程序提供的错误信息... – AlterPHP 2012-02-23 10:46:43

你可以检查你的萤火虫的Net> XHR面板来寻找请求。 扩大请求并检查html标签,看看究竟是什么回应