Php yiiajax响应正确语法
我对YII中的AJAX请求有操作:Php yiiajax响应正确语法,php,syntax,yii,response,Php,Syntax,Yii,Response,我对YII中的AJAX请求有操作: public function actionSomeCheck() { if($_GET['foo'] == 'bar') { echo CJSON::encode(array('status'=>'ok')); } echo CJSON::encode(array('status'=>'error')); } 我需要在生成响应后添加刹车,但没有找到正确的语法 它可以是: public funct
public function actionSomeCheck()
{
if($_GET['foo'] == 'bar')
{
echo CJSON::encode(array('status'=>'ok'));
}
echo CJSON::encode(array('status'=>'error'));
}
我需要在生成响应后添加刹车,但没有找到正确的语法
它可以是:
public function actionSomeCheck()
{
if($_GET['foo'] == 'bar')
{
echo CJSON::encode(array('status'=>'ok'));
die();// Or exit
}
echo CJSON::encode(array('status'=>'error'));
die();
}
或:
或者在最后一次应答后没有任何中断
可能使用死亡/退出会更快地返回响应,但可以阻止某些操作
这不是生死攸关的问题,但我想理解正确的语法,因为我会经常使用它。使用开关盒
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;
}
}
或者您可以添加更多案例。终止Yii申请的正确方法是:
Yii::app()->end()代码>
这将在调用exit()
本身之前处理任何onEndRequest
事件
见:
补充澄清:
不需要调用Yii::app()->end在请求结束时编码>自己。该方法所做的只是处理onEndRequest
事件,然后调用exit()
而当您使用run()
正常运行应用程序时,您会看到在应用程序正常终止之前,默认情况下会处理onEndRequest
事件
请参阅:谢谢您的回答,但这只是一个简单的示例。在实际中,代码可以在不同的地方进行多次检查。@Narek我给出了最简单的形式,因为您没有提到多次检查。。在这种情况下,您可以使用Yii::app()->end()代码>这是我搜索的内容。谢谢只有一个澄清。我是否需要在最后一次回复后添加它,或者Yii将自动添加?@Narek我已经用要求的澄清更新了我的答案。感谢您提供完整的答案。注意:添加结束声明是Yii的正常方式。但是,目前,如果打开了web日志记录,可能会导致问题。在这种情况下,有时候让人死在那里实际上更好:-)
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;
}
}