0

我想知道是否有办法从这个 url 获取“json”部分:“ / post/ index.json ”,或者,如果不存在,默认为“html”,就像在 Rails 中执行“request.format”一样。

我也想知道这是否可以在路线上设置为参数。正在做:

resources.router.routes.default.route = /:controller/:action.:format

在ini文件上不起作用,似乎分隔参数的唯一方法是添加/。

Zend 可以做到这一点,还是我必须自己编写代码?

4

1 回答 1

1

我没有使用 Rails 或 Ruby 的经验,但我认为您必须自己在 ZF 中编写代码。您可以在控制器中执行此操作:

$format = substr($this->getRequest()->getRequestUri(), -4);
if ($format === 'json') {
    // do something
} else {
    // do something else
}

但这当然取决于 URI 中包含的请求的格式。

您是否将格式放入 URI 以便响应 AJAX 请求?我认为编写 HTTP 规范的人的意图是读取客户端给出的请求标头,即Accept标头。我还使用 ZF$request->isXmlHttpRequest()来检测 AJAX 请求。

于 2012-07-24T01:31:57.723 回答