この状況で SFDebug が役立つかどうかはわかりません。jQueryを使用してajax投稿を作成しています。これは、アクション URL で JSON データを取得し、アクションを実行する Model メソッドを呼び出します。アクション URL までの部分と、それに対する jQuery 呼び出しは正常に機能します。クライアントからサーバーに送信されたデータは十分に受信され、エラーは発生していません。
失敗しているのはモデルのメソッドを呼び出す部分です。私のjQueryメソッドは次のようになります:
$.post(url, jsonData, function(servermsg) { console.log(servermsg); }) ;
私のサーバーアクションはこのようなものです
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 ファイル内の対象となるメソッドは次のようになります。
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 呼び出しでない場合は、モデル メソッドが何を吐き出すかを確認してデバッグできますが、Ajax が混在していると少し面倒です。
ここで正確な答えを探しているわけではありませんが、symfony 環境で ajax リクエストをデバッグする方法について詳しく説明しているので、これをデバッグする方法について提案があれば、それは素晴らしいことです。