0

FW/1には機能が埋め込まれている

private string function renderDataWithContentType() {
    var out = '';
    var contentType = '';
    var type = request._fw1.renderData.type;
    var data = request._fw1.renderData.data;
    var statusCode = request._fw1.renderData.statusCode;
    switch ( type ) {
    case 'json':
        contentType = 'application/json; charset=utf-8';
        out = serializeJSON( data );
        break;

application/json、text/xml、text/plain を返すメカニズムが組み込まれているようです。

I can't find any documentation on how to trigger this.

Note: this is not a duplicate of: How do I return JSON from an action in FW/1?

4

1 に答える 1

6

ドキュメントを読むことができます:

ドキュメントから

...

2.2 以降では、新しい renderData() 関数を使用して、ビューとレイアウトをバイパスしてデータを直接返すことができます。

variables.fw.renderData( contentType, resultData );

この関数を呼び出してもコントローラーは終了しませんが、レンダリングするビューを探す代わりに、resultData 値を指定された contentType に変換し、それが完全な HTTP 要求の結果であることを FW/1 に伝えます。

contentType は、「json」、「xml」、または「text」のいずれかです。Content-Type HTTP ヘッダーは、自動的に次のように設定されます。

  • アプリケーション/json; 文字セット=utf-8
  • テキスト/xml; 文字セット=utf-8
  • テキスト/プレーン; 文字セット=utf-8

...

于 2013-12-11T05:25:30.753 に答える