ここに私の状況です。私は、1)写真アップロードテンプレート2)写真の詳細テンプレート3)写真テンプレート4)写真ギャラリー5)動的ナビゲーションバーを含む写真管理ページを持っています。もともと、写真アップロードテンプレートは、自分自身に提出されたフォームとして設定され、新しい写真をアップロードするためにcffileを使用しました。これはうまくいきました.jqueryコールバックを追加して、アップロードが成功すると、詳細、写真、ギャラリーコンテナを更新しようとしましたが、フォームが送信されて写真がアップロードされた後、フォームの送信ボタンは実行されません。coldfusion ajax jqueryファイルアップロードが動作しない
そのため、送信ボタンをタイプ「ボタン」に変更し、jquery .ajax()を使用してファイルをアップロードすることにしました。これにより、コールバックを成功させることができます。これまでのajaxメソッドのコードは次のとおりです。
$.ajax({
url: 'Administration/PhotoManagement/uploadPhotos.cfm',
type: 'POST',
data: { Add: 'add',
NewFilename: file_name,
shortName: short_name,
description: description
},
contentType: 'multipart/form-data',
success: function(response, status, xhr){
$('#upload').html(response);
// refresh gallery, featured pic, details
alert('success');
}
},
error: function(xhr, status){
alert(status + ' ' + xhr.statusText);
}
});
送信時に、500の内部サーバーエラーが発生します。 Firebugコンソールは、データが正しくポストされたと報告しますが、イメージはアップロードされず、私はcffileの周りにあるtry/catchエラーコードからエラーメッセージを受け取りません。
私はどちらのアプローチにも結婚していません - コールバックが機能するようにすれば、元のアプローチに戻っても問題ありません。助言がありますか?私がアヤックスのアプローチにとどまるべきだと思うなら、あなたは私のエラーを修正しようと勧めますか?
編集:私は、タグの周りに私のtry/catchブロックからエラーを取得していたので、マルチパート/フォームデータ:上記のコードでは、私は種類を追加した
無効なコンテンツの種類:アプリケーション/ X -www-form-urlencoded;文字セット= UTF-8
500エラーの詳細は何ですか?ファイヤーバグやプロキシ(チャールズ)を使って詳細を取得してください。 – Lucas
jQuery ajaxファイルのアップロードプラグインを使ってみましたか? – tsurahman
Lucasさん、職場でプロキシを使用できません。 Firebugは私に500エラーの詳細を与えません。それは? localhostの後に。 "type:multipart/form-data"を削除するとそのエラーは消えますが、私のcffileタグは上記の「無効なコンテンツタイプ」エラーを表示します。 – earachefl