2016-03-08 3 views
0

Есть ли способ обновить данные от getJSON()? Я хочу получить URL-адрес случайного изображения из API (и установить css background-image). Проблема в том, что URL-адрес изображения остается неизменным, в то время как он должен обновляться каждый раз, когда я вызываю функцию.getJSON всегда возвращает те же данные

function changeImage() { 
    $.getJSON("https://api.unsplash.com/photos/random?client_id=336b527b2e18d045045820b78062b95c825376311326b2a08f9b93eef7efc07b", function(result) { 
     randomPhoto = result.urls.full; 
     console.log(randomPhoto); 
    }); 
}; 

changeImage();  

jsFiddle здесь: https://jsfiddle.net/h2jscr46/

+1

интуитивно я бы попробовать добавления случайного параметра число, или даже лучше метку времени, как https://api.unsplash.com/photos/random?client_id=3...07b&forceReload= entio

+1

Я получаю разные результаты каждый раз, когда я запускаю пример в скрипте JS ...? Тем не менее, попробуйте добавить временную метку к URL-адресу или использовать '$ .ajax' и установить' cache: false' –

+0

@RoryMcCrossan. Вероятно, это потому, что при запуске скрипта содержимое iframe перезагружается – entio

ответ

2

Наглядно я бы попробовать добавления случайного параметра число, или даже лучше метку времени, как Попробуйте это:

$.getJSON("https://api.unsplash.com/photos/random?client_id=3...7b&ts=" + (new Date().getTime()) 

https://jsfiddle.net/entio/L8rphtno/

0

Попробуйте использовать AJAX для обновления данных.

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

$(document).ready(function() { 
    $.ajaxSetup({ cache: false }); 
}); 
+2

getJSON - это сокращение от jQuery для метода ajax – entio

+0

- это возможно отключить кеш с помощью getJSON или вообще не использовать так, чтобы использовать $ .ajax – chemook78

+0

да это возможно. путем установки кеша false .. – Jayson

0

благодарит за ввод всех! Я использовал это в конце концов:

Это было кеширование.

var randomPhoto = {}; 

    function changeImage() { 

    $.ajax({ 
    url: "https://api.unsplash.com/photos/random?client_id=336b527b2e18d045045820b78062b95c825376311326b2a08f9b93eef7efc07b", 
    cache: false, 
    success: function(result){ 
    randomPhoto = result.urls.full; 
    console.log(randomPhoto); 
    } 

}); 

}; 

    changeImage(); 

Вот JSfiddle https://jsfiddle.net/9xft1orw/1/

В API есть ограничение скорости на дороге в то время как он все еще находится в режиме разработки

Смежные вопросы