JSON是一种轻型格式, 用于在应用程序之间进行数据交换, 已广泛用于以任何语言(例如PHP, Ruby等)编写的每种类型的Web应用程序。要从旧版Symfony 1.4中的操作返回JSON响应, 你首先需要更改响应的内容类型, 否则最终将返回一个字符串, 该字符串不带有你要发送的格式的特定标头。 JSON的正确内容类型是application / json。最后返回symfony操作的$ this-> renderText方法的结果, 该方法期望将JSON编码的字符串作为第一个参数(使用json_encode):
<?php
/**
* An actions.class.php file from any of the modules of your application.
*
*/
class mymoduleActions extends sfActions
{
/**
* Actualiza el estado de un módulo via AJAX.
*
* @param sfWebRequest $request
* @return type
*/
public function executeMyActionWithJsonResponse(sfWebRequest $request){
// Your action logic
// Set the response format to json
$this->getResponse()->setHttpHeader('Content-type', 'application/json');
// Use renderText to return a json encoded array !
return $this->renderText(json_encode(array(
"foo" => "bar"
)));
}
}
MyActionWithJsonResponse操作的响应将是一个JSON字符串, 即:
{"foo":"bar"}
编码愉快!
评论前必须登录!
注册