Debugging 在Symfony环境中调试Ajax请求
不确定SFDebug在这种情况下是否有帮助。我正在使用jQuery制作一篇ajax文章。它在我的操作URL中检索JSON数据,然后调用执行该操作的模型方法。直到我的动作URL和对它的jQuery调用正常工作为止。从客户机传输到服务器的数据接收良好,没有出现错误 它是在模型上调用方法失败的部分。我的jQuery方法如下所示:Debugging 在Symfony环境中调试Ajax请求,debugging,jquery,symfony,xmlhttprequest,symfony-1.4,Debugging,Jquery,Symfony,Xmlhttprequest,Symfony 1.4,不确定SFDebug在这种情况下是否有帮助。我正在使用jQuery制作一篇ajax文章。它在我的操作URL中检索JSON数据,然后调用执行该操作的模型方法。直到我的动作URL和对它的jQuery调用正常工作为止。从客户机传输到服务器的数据接收良好,没有出现错误 它是在模型上调用方法失败的部分。我的jQuery方法如下所示: $.post(url, jsonData, function(servermsg) { console.log(servermsg); }) ; public functi
$.post(url, jsonData, function(servermsg) { console.log(servermsg); }) ;
public function addDataToTable($dataArray)
{
// process $dataArray and retrieve the necessary data
$data = new Data();
$data->field = $dataArray['field'];
.
.
.
$data->save();
return $data->id ;
}
我的服务器操作如下
public function executeMyAjaxRequest(sfWebRequest $request)
{
if($request->isXmlHttpRequest())
{
// process whatever
$servermsg = Doctrine_Core::getTable('table')->addDataToTable($dataArray);
return $this->renderText($servermsg);
}
return false;
}
Table.class.php文件中关注的方法如下所示:
$.post(url, jsonData, function(servermsg) { console.log(servermsg); }) ;
public function addDataToTable($dataArray)
{
// process $dataArray and retrieve the necessary data
$data = new Data();
$data->field = $dataArray['field'];
.
.
.
$data->save();
return $data->id ;
}
该方法在模型中失败,当返回操作中的renderText并登录到控制台时,它将返回SFDEBUG的HTMl。这表明它失败了
如果这不是一个Ajax调用,我可以通过查看model方法的结果来调试它,但是混合使用Ajax有点乏味
这里不寻求确切的答案,但更多地介绍如何在symfony环境中调试ajax请求,因此,如果有关于如何调试的建议,那就太好了。您必须通过ajax发送带有会话ide键的cookie(假设您在服务器上配置了XDEBUG) 为了通过AJAX请求触发调试会话,您必须以某种方式发出该请求,以发送额外的URL参数
XDEBUG\u session\u START=1
。例如:
$.post(url+)?XDEBUG_SESSION_START=1',jsonData,函数(servermsg){console.log(servermsg);}代码>
您也可以通过cookie触发它,但附加URL参数通常更容易