2016-11-01 19 views
0
$imageURL = "/root/development/servers/account_" + $accountID + "/social_" + $socialCount + "/bots/" + $botName + "_" + ($id + 1) + ".png"; 
$.ajax ({ 
    url: $imageURL, 
    success: function() { 
     alert("1"); 
    }, 
    error: function() { 
     alert("0"); 
    } 
}); 

これは私のファイルが存在するにもかかわらず、常に警告を出します(テキストフィールドにフルパスを表示し、チェックするように警告します)。 Googleで見つけたものはすべて、これを行う方法だと言われています。古いものですか?ファイルを表示するための特定の権限を与えなければなりませんか?ここで何がうまくいかないのでしょうか?ありがとう。サーバー上にファイルが存在するかどうかを確認するAjax

+0

これはパスに関連する問題です。ブラウザコンソール/ネットワークタブでエラー –

+0

を確認してください。 '$ imageURL'のURLは絶対的ではなく、相対的なものです。 @AnikIslamAbhi –

+0

トピック以外: 'success'と' error'を使わないことを強くお勧めします。さらに、jQuery 3.0以降、非推奨になりました。 '.done()'と 'fail()'を使用してください –

答えて

0

このJavaスクリプトの画像機能してみてください:チェックのためのファイルがサーバー上に存在

共通機能:

var image = new Image(); 
image.src = $imageURL; 
if (image.width == 0) { 
    alert("no image"); 
} 

またはあまりにも、このいずれかを試してみてください。

$.ajax ({ 
    url: $imageURL, 
    type: "HEAD", 
    success: function() { 
     alert("1"); 
    }, 
    error: function() { 
     alert("0"); 
    } 
}); 
0

を使用すると、機能の下に試すことができますが:

function imageExists(image_url){ 

    var http = new XMLHttpRequest(); 

    http.open('HEAD', image_url, false); 
    http.send(); 

    return http.status != 404; 

} 

と以下のようにあなたの要求を置く:

$.get(image_url) 
    .done(function() { 
     // Do something now you know the image exists. 

    }).fail(function() { 
     // Image doesn't exist - do something else. 

    }) 

これはリターンを要求し、ステータスコードと私のシンプルなソリューションです...それはあなたを助け

おかげ

0

を願っています。

$.ajax ({ 
    url: 'https://fiddle.jshell.net/img/logo.png', 
    statusCode: { 
     200: function() { 
      alert("image found"); 
     }, 
     404: function() { 
      alert("image not found"); 
     } 
    } 
}); 
関連する問題