私はgrailsでファイルをアップロードしようとしていますが、アップロードから返されたjsonレスポンスを処理しようとしていますが、あまり効果がありません。私の見解は次のようになります。Grailsファイルアップロードjsonレスポンス
<script type="text/javascript">
function addData(e) {
alert('adding data');
}
</script>
<g:form name="upload-form" url="[controller: 'dataset', action:'handleUpload']"
enctype="multipart/form-data" target="hidden-upload-frame">
File: <input type="file" name="myFile" />
<button type="submit">Upload</button>
</g:form>
<iframe id="hidden-upload-frame" name="hidden-upload-frame" style="display: none" onload="addData"></iframe>
そして、私のコントローラで私は
def handleUpload() {
def file = request.getFile('myFile')
def result
// do some fileprocessing to create the result
render results as JSON
}
を持っている。しかし、私は、フォームを送信すると、ブラウザだけでJSONレスポンスをダウンロードするために私を求められます。私もformRemoteを使ってみましたが、request.getFileはformRemoteには有効ではないようです。
addData
メソッドをjsonレスポンスで呼び出すには、何が必要ですか?
アーネスト、私はそれを変更し、適切にjsonをiframeにレンダリングしますが、私はまだaddData javascriptメソッドの仕事をコールバックするようには見えません。 –
また、Firefoxではまだjsonファイルをダウンロードしようとしています。それをフレームにレンダリングします(ただし、クロムのフレームにレンダリングされます) –