0

Rails で "request.format" を実行するのと同じように、" /post/index.json "、または存在しない場合はデフォルトで "html" というURL から " json " 部分を取得する方法があるかどうか疑問に思います。

また、これをルートにパラメーターとして設定できるかどうかも疑問です。やっている:

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

ini ファイルでは機能しません。params を区切る唯一の方法は / を追加することです。

これはZendで可能ですか、それとも自分でコーディングする必要がありますか?

4

1 に答える 1

1

Rails や Ruby の経験はありませんが、ZF で自分でコーディングする必要があると思います。コントローラー内でこれを行うことができます:

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

ただし、これはもちろん、URI に含まれるリクエストの形式に依存します。

AJAX リクエストに応答できるように、フォーマットを URI に入れていますか? HTTP 仕様を作成した人が意図した方法は、クライアントから提供された要求ヘッダー、つまりAcceptヘッダーを読み取ることだと思います。また、ZF を使用$request->isXmlHttpRequest()して AJAX リクエストを検出します。

于 2012-07-24T01:31:57.723 に答える