0

FineUploaderの最新バージョンを実装しましたが、ページ上で完全にレンダリングされます。

 $(document).ready(function () {
    $('#jquery-wrapped-fine-uploader').fineUploader({
      request: {
        endpoint: 'fu/fineuploader.cfm'
      }
    }).on('error', function(event, id, name, reason) {
        alert('error');
      })
      .on('complete', function(event, id, name, responseJSON){
        alert('complete');
      });
  });

次にファイルを選択すると、Coldfusionページに正常に接続されます。デバッガーツール/コンソールを見ると、Coldfusionページの応答を確認できます。FORMデータをCFDUMPすると、ファイルも渡されます。したがって、これまですべてが機能します。

ただし、Coldfusionページが完了すると、呼び出し元のページは「エラー」関数を起動し、「エラー」を警告します。

デバッガー/コンソールを見ると、エラーはありません。そのため、コントロールがまだエラーを返している理由がわかりません。エラーは、現在cfmページから返されているものである可能性があります(現時点でcfmページに書き込まれているのはこれだけです)。

<cfoutput>#serializeJSON( 'true' )#</cfoutput>

誰かがここで何か間違っているのを見ますか?エラーがないので、これを解決するためにどこを見ればよいのか本当にわかりません。

CF10、FineUploader 3.3、Chromeを使用しています

前もって感謝します。

承認された回答の更新/補遺:

基本的に、応答はJSON形式で正しくフォーマットされている必要があるだけでなく、名前と値のペアが「success」:「true」である必要があります。

したがって、以前は、私が返していたJSONはこれでした。これは有効なJSONですが、失敗しました。

{"name":"Peter"}

ただし、「success」:「true」の名前/ペアを追加して初めて正しく機能し始めました。

{"success":"true","name":"Peter"}
4

2 に答える 2

4

アップロードが成功すると、JSON応答は「true」の値を持つキー「success」を返す必要があります。

{
  "success" : "true"
}

Fine Uploaderが値が「true」のJSONキー「success」を認識しない場合、サーバー側でアップロードが失敗したと見なされます。追加のJSONプロパティも応答に含めることができます。

于 2013-03-18T20:26:16.057 に答える
1

serializeJSON()呼び出しでColdFusion変数(シリアル化する変数)を指定する必要があります。また、関数の2番目のパラメーターとして「true」を指定することによりserializeJSON()、JSONではなくWDDX出力を作成するように実際に指示しています。 ここでSerializeJSONのドキュメントを参照してください

コードは次のようになります。

<cfoutput>#serializeJSON(YourCFVariableHere)#</cfoutput>
于 2013-03-18T19:16:28.817 に答える