0

ダウンロードする前に、ファイルが存在するかどうかを確認しようとしています。ファイルはClickOnceアプリケーションです。

既に次のコードを試しましたが、うまくいきません (URL が別のサーバーとドメインにあるためでしょうか?)。

$.ajax({
    url: 'http://www.example.com/somefile.ext',
    type: 'HEAD',
    error: function()
    {
        //File does not exist
    },
    success: function()
    {
        // File exists
    }
});

別の解決策はありますか、またはこれを機能させる手段はありますか?

4

3 に答える 3

0

他の人が言ったことに加えerrorThrownて、エラー関数への引数が「見つかりません」であることも確認する必要があります。そうしないと、実際には別のエラーが発生したときに、ファイルが存在しないと想定している可能性があります。

HTTP エラーが発生すると、errorThrown は「Not Found」や「Internal Server Error」などの HTTP ステータスのテキスト部分を受け取ります。

于 2012-09-17T12:56:43.553 に答える
0

はい、URL が別のサーバー上にある場合、これは機能しません。これを機能させたい場合は、URL のダウンロード元のサーバーを制御する必要があります。その場合、Access-Control-Allow-Originヘッダーを JavaScript のロード元のサーバーの名前に設定する必要があります。

詳細については、スタック オーバーフローの質問jQuery AJAX クロス ドメインを参照してください。

于 2012-09-17T12:51:19.247 に答える
0

クロスドメイン コールをこれほど簡単に行うことはできません(CORS)。ファイルの存在をチェックし、それに応じた結果を返すスクリプトをサーバー上で呼び出す方が安全です。

于 2012-09-17T12:52:12.550 に答える