我应该把返回的文本操作或javascript放在哪里?

时间:2011-11-27 10:36:16

标签: javascript symfony-1.4

在Symfony 1.4中,如果我想通过AJAX请求发送一些文本来呈现, 我应该把文字放在哪里

  • 在操作中并将其发送到Javascript以呈现
  • 将文字放入Javascript

我想知道最佳做法。

示例1

PHP行动

class defaultActions extends sfActions
{
    public function executeSomething(sfWebRequest $request)
    {
        $status = 'valid';
        if($status == 'valid'){
                return $this->renderText('valid');
        }
        else{
                return $this->renderText('invalid');
        }
    }
}

JS

if (valid)  
   fun1();
else
   fun2();

1 个答案:

答案 0 :(得分:2)

我会正常调用控制器,然后在action.class.php文件中执行任何处理,然后返回所需的文本。所以我的action.class.php文件可能很简单:

class defaultActions extends sfActions
{
    public function executeSomething(sfWebRequest $request)
    {
        $sometext = "return value";
        return $this->renderText($sometext);
    }
}

有许多优点

  • 安全 - 可以限制
  • 重构 - 如果您需要从模型中获取数据或显示除文本之外的其他内容(通过视图使用JSON或XML),则创建正确的操作意味着更容易进行更改
  • 测试 - 它允许使用正常功能/单元测试轻松测试