首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >syntax响应右语法

syntax响应右语法
EN

Stack Overflow用户
提问于 2013-03-14 07:06:39
回答 2查看 2.4K关注 0票数 0

我在YII中处理AJAX请求

代码语言:javascript
复制
public function actionSomeCheck()
{
    if($_GET['foo'] == 'bar')
    {
        echo CJSON::encode(array('status'=>'ok'));
    }

    echo CJSON::encode(array('status'=>'error'));
}

我需要添加刹车后产生的响应,但没有找到正确的语法。

它可以是:

代码语言:javascript
复制
public function actionSomeCheck()
{
    if($_GET['foo'] == 'bar')
    {
        echo CJSON::encode(array('status'=>'ok'));
        die();// Or exit
    }

    echo CJSON::encode(array('status'=>'error'));
    die();
}

或者:

代码语言:javascript
复制
public function actionSomeCheck()
{
    if($_GET['foo'] == 'bar')
    {
        echo CJSON::encode(array('status'=>'ok'));
        return false;
    }

    echo CJSON::encode(array('status'=>'error'));
    return false;
}

或者在最后一次回答之后没有任何休息。

使用die/exit可能会更快地返回响应,但可以防止某些操作。

这不是生死问题,而是要理解正确的语法,因为我会经常使用它。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-14 07:35:37

终止Yii应用程序的适当方法是:

Yii::app()->end();

这将在调用onEndRequest本身之前处理任何exit()事件。

请参阅:http://www.yiiframework.com/doc/api/1.1/CApplication#end-detail

补充澄清:

没有必要在请求结束时亲自调用Yii::app()->end;。该方法所做的就是处理onEndRequest事件,然后调用exit()

然而,当您使用run()正常运行应用程序时,您会发现在应用程序正常终止之前,默认情况下会处理onEndRequest事件。

请参阅:http://www.yiiframework.com/doc/api/1.1/CApplication#run-detail

票数 1
EN

Stack Overflow用户

发布于 2013-03-14 07:22:19

使用开关盒

代码语言:javascript
复制
public function actionSomeCheck()
{
$data = $_GET['foo'];
switch($data)
         {
             case 'bar':
                 echo CJSON::encode(array('status'=>'ok'));
             break;
             default:
                 echo CJSON::encode(array('status'=>'error'));
             break;

         }
}

或者你可以增加更多的案例。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15403168

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档