JQuery проверить статус - PullRequest
       1

JQuery проверить статус

0 голосов
/ 17 июня 2010

Эта функция каждый раз дает «ложь» , даже если image_url существует

// some .each {
    var item = $('.item', this);
    $.ajax({
        url: image_url,
        success: function() {
            item.html("true");
        },
        error: function() {
            item.html("false");
        }
    });
// }

Используется для проверки существования файла image_url - эта переменная дает URL-адрес, подобный http://blog.com/teddybear.png

Есть идеи?

1 Ответ

2 голосов
/ 17 июня 2010

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

Однако надежда есть! Вы можете использовать событие error для элемента <img>, чтобы увидеть, существует ли он, например:

function testImage(url) {
    $("<img />", { 
      error: function() { item.html('false'); }, 
      load: function() { item.html('true'); }
    })​​.attr('src', url);
}

Вы можете просмотреть быстрое демо здесь , оно проверяет изображение, которое существует , существует , ждет 2 секунды, затем пробует то, которое не существует. При этом используется метод создания $(html, props), чтобы создать элемент <img>, назначить события, а затем установить src, мы просто проверяем, какое событие получило удар, как проверку на успешность / неудачу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...