ファイルアップロード × Ajax
jQueryプラグイン http://www.phpletter.com/Our-Projects/AjaxFileUpload/ で
ファイルアップロードをAjaxで実装した
このプラグイン自体は古かったのか…
”handleError”とかいうエラーが出たとき
そのエラー自体がjQuery1.5からremoveされてるぽくて
http://stackoverflow.com/questions/6329589/when-was-handleerror-removed-from-jquery
ライブラリ自体に修正を加えなきゃなんなかった
でも、なんとかファイルアップロードできた!
エラーの原因は、dataTypeで指定した型がちゃんと返ってきてなかったこと
dataTypeで指定できる型は、String型でいろいろあるみたいだけど、
サーバー側では何も返してないのに、'json'て指定しててエラーが起きてた
そこを'text'に変えて、emptyをとってくるようにしたらエラーは消えた
$(document).ready(function() { $('#upload_form').submit(function() { var $this = $(this); $.ajaxFileUpload({ url : '<c:url value="/tweet.do"/>', secureuri : false, fileElementId : 'icon_field', data : ({ tweet : $('#tweet_msg').val() }), dataType : 'text', global:false, success : function(obj) { loadTimeline(); $('#tweet_msg').val(""); $("#notice_dialog").dialog("open"); var ul = $('#timeline-list'); setTimeout(function() { $('li:first', ul).effect('highlight', 5000); }, 500); }, error: function (xml, status, e) { console.log(xml); console.log(status); console.log(e);    alert('error!'); } }); return false; }); $('#tweet_btn').change(triggerUpload); }); function triggerUpload() { $('#upload_form').trigger('submit'); }
jQuery初心者ぽいエラーだらけのさこちゃんでした