0

ファイルをアップロードしていますが、すべて正常にアップロードされます。主キーが定義された JSON オブジェクトを返したいので、次のようにします。

ec.web.sendJsonResponse( "{offerId: '${offer.offerId}'}")

私のJavaScript受信コードが期待する方法で物事をパッケージ化します(ファイルアップロード操作であるため)が、次のようにラップします:

    <html>
    <head></head>
    <body>
    <pre style="word-wrap: break-word; white-space: pre-wrap;">
        <textarea>{offerId: '100030'}</textarea></pre>
    </body>
    </html>

「pre」タグにより、「getElementsByTagName」が「textarea」要素を見つけられなくなります。

WebResource.sendJsonResponse が追加していないことはわかっています。contentType を json に設定しており、DOM オブジェクトを期待しているため、受信コードが不平を言っています (エラー> リソースはドキュメントとして解釈されましたが、MIME タイプ application/json で転送されました:)

これを解決するにはどうすればよいですか? これは本当に J2EE に関する質問だと思いますが、moqui の他の誰かに起こるかもしれません。

4

2 に答える 2

0

moqui では、ec.web.sendJsonResponse は JSON 応答を返すように設計されています。画面の遷移でアップロードを処理する場所が簡単なので、次を追加できます。

def respMap = [:]
respMap.put("offerId", offer.offerId)
ec.web.sendJsonResponse(respMap)

一方、デフォルト応答タイプは「なし」として定義されます

<default-response type="none"/>

respMap を使用して、あらゆる種類のより複雑な JSON オブジェクトを構成し、次に ec.web.sendJsonResponse メソッドを使用して、応答マップのコンテンツを JSON 応答に自動的に送信できます。

于 2014-03-02T02:44:04.663 に答える