ajaxを使ってファイルの存在確認をしたいと思っています。
ボタンがクリックされた時にフォルダの有無を確認し、そのフォルダが存在すれば、中の画像ファイルを表示するというコードを作りたいと考えています。
画像ファイルが存在すれば、htmlにコードを追加し、画像を全て挿入するまでループさせる構造にしているのですが、下記の変数checkがずっとtrueのままなのでループが終わりません。
調べるとクロージャーが関係している様なので、色々試してみたのですがどうも上手くいかないのでご教授ください。
他の方法があることは分かっているのですが、ajaxを使った方法でコードを完成させたいので、よろしくお願い致します。
javascript
1 2$("#btn").on('click', function() { 3 4 $.ajax({ 5 url: 'image', 6 type: 'GET', 7 error: function() { 8 //not exists 9 alert('Images do not exist. y'); 10 }, 11 success: function() { 12 // exists 13 var check = true; 14 var i = 1; 15 while (check==true && i<5) { //i<5は無限ループ対策 16 (function(check,i){ 17 $.get('image/' + 'image' + i + '.jpg') 18 .done(function() { 19 // the image exists. 20 $("#images").append("HTML内の指定場所にimgタグ追加"); 21 check = true; 22 return check; 23 24 }).fail(function() { 25 // the image doesn't exist. 26 check = false; 27 return check; 28 29 30 }) 31 alert(check); 32 return check; 33 })(check,i); 34 i++; 35 } 36 } 37 }); 38 39 }); 40
回答1件
あなたの回答
tips
プレビュー