проверка ссылки на файл - PullRequest
       10

проверка ссылки на файл

1 голос
/ 22 апреля 2010

Я использую JQuery для динамического добавления ссылки на файл изображения.

+ "<td><a class='IconButton' id='trkimg" + k + "' href='IMSTORE\/" + trackings[k].Image + "'><span class='ui-icon ui-icon-image'></span></td>"

Этот код проверяет, что значение было возвращено из базы данных, и скрывает ссылку, если ничего не было возвращено:

if (trackings[k].Image == null) { $("#trkimg" + k).html(""); $("#trkimg" + k).removeClass('CustomButton'); }

Как я могу использовать JQuery для проверки того, что возвращенный файл действительно существует, и, если он не существует, отобразить другое изображение?

Ответы [ 2 ]

1 голос
/ 22 апреля 2010

Javascript не может видеть файлы на вашем сервере. Я думаю, вы могли бы сделать ajax-запрос к какой-либо стороне сервера, чтобы проверить, существует ли файл.

0 голосов
/ 23 апреля 2010

В соответствии с тем, что предложил SeanJA, вы можете использовать ajax для «проверки» изображения, затем добавить изображение в обратный вызов success или попробовать другой в обратном вызове error.

Вы запрашиваете изображение дважды, но, возможно, оно кешируется после первой попытки. Не уверен.

Если вы действительно хотите использовать возвращенное изображение, его необходимо закодировать. Вот ссылка на инструкцию, как это сделать. Хотя не пробовал.

http://emilsblog.lerch.org/2009/07/javascript-hacks-using-xhr-to-load.html

    var imageURI = "http://mydomain.com/myimage.jpg";
    $.ajax(
        {
            type:'get',
            dataType:'image/jpeg',
            url:imageURI,
            success:function() { $('body').append('<img src="' + imageURI + '" />'); },
            error:function() { /* Change url in imageURI variable, and try again */ }
        }
    );

Не уверен, что это лучший способ, но, похоже, работает.

...