ワイズリマインダー

画像を非同期でアップロードする

<pre><form method="post" enctype="multipart/form-data">
<input type="file" name="filename">
</form></pre>

FormData対応ブラウザ

$('input[name=filename]').change(function(){
  var fd=new FormData();
  fd.append('file',$(this).prop('files')[0]);
  $.ajax('',{
    type:'post',
    contentType:false,
    processData:false,
    data:fd,
    dataType:'json',
    success:function(json){
      // ここに処理
    }
  });
});

FormData非対応ブラウザ

$('input[name=filename]').change(function(){
  var iframe=$('<iframe name="iframe_dummy">');
  iframe.load(function(){
    var json=$.parseJSON($(this).contents()[0].body.innerHTML);
    // ここに処理
  });
  $(body).append(iframe);
  var form=THIS.closest('form');
  form.attr('target','iframe_dummy').submit();
});

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください