Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery getJSON总是返回相同的数据_Jquery_Json_Api_Getjson - Fatal编程技术网

Jquery getJSON总是返回相同的数据

Jquery getJSON总是返回相同的数据,jquery,json,api,getjson,Jquery,Json,Api,Getjson,是否有方法从getJSON()刷新数据?我想从API中检索一个随机图像URL(并设置css背景图像)。问题是图像URL保持不变,但每次调用函数时都会刷新 function changeImage() { $.getJSON("https://api.unsplash.com/photos/random?client_id=336b527b2e18d045045820b78062b95c825376311326b2a08f9b93eef7efc07b", function(result)

是否有方法从
getJSON()
刷新数据?我想从API中检索一个随机图像URL(并设置css背景图像)。问题是图像URL保持不变,但每次调用函数时都会刷新

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

changeImage();       

jsFiddle here:

直觉上,我会尝试添加随机数参数,或者更好的时间戳,比如 试试这个:

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

直觉上,我会尝试添加随机数参数,或者更好的时间戳,比如 试试这个:

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

尝试使用AJAX刷新您的数据

将缓存设置为false的示例

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

尝试使用AJAX刷新您的数据

将缓存设置为false的示例

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

谢谢大家的投入!我最终使用了这个:

这是缓存

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();
这是JSFIDLE


顺便说一下,API在开发模式下有一个速率限制

谢谢大家的支持!我最终使用了这个:

这是缓存

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();
这是JSFIDLE


顺便说一句,API在开发模式下有一个速率限制

直觉上,我会尝试添加随机数参数,或者更好的时间戳,比如随机数>每次我在你的JS提琴中运行示例时,我都会得到不同的结果。。。?也就是说,尝试向URL添加时间戳或使用
$.ajax
并设置
缓存:false
@rorymcrossan,这可能是因为在运行fiddle iframe时,内容是reloaded@entio不,即使在没有刷新的情况下点击按钮,每次都是一个不同的图像URL:如果你声明一个静态URL,那么它如何更改???直觉上,我会尝试添加随机数参数,或者更好的时间戳,比如随机数>每次我在你的JS小提琴中运行示例时,我都会得到不同的结果。。。?也就是说,尝试向URL添加时间戳或使用
$.ajax
并设置
缓存:false
@rorymcrossan,这可能是因为在运行fiddle iframe时,内容是reloaded@entio不,即使在没有刷新的情况下点击按钮,每次都是一个不同的图像URL:如果你声明一个静态URL,那么如何更改它???getJSON是jquery对ajax方法的简写,顺便问一下,是否可以使用getJSON禁用缓存,或者根本不使用$。ajax查看我的帖子答案,希望它能帮助你getJSON是jquery对ajax方法的缩写顺便问一下,是否可以用getJSON禁用缓存,或者根本不使用$。ajax看看我的帖子答案,希望它能帮助你