Javascript json调用没有';IE10中的nt更新
我用这个小脚本来输入播放列表,并每20秒更新一次。-出于某种原因,它没有在ie10中更新(我猜也有更老的版本)-我没能看到哪里出了问题,有什么想法吗Javascript json调用没有';IE10中的nt更新,javascript,jquery,getjson,Javascript,Jquery,Getjson,我用这个小脚本来输入播放列表,并每20秒更新一次。-出于某种原因,它没有在ie10中更新(我猜也有更老的版本)-我没能看到哪里出了问题,有什么想法吗 function playlist() { $.getJSON("/playlist/", function (data) { $("#play-now-arti").empty(); $("#play-now-title").empty(); $("#last-played").em
function playlist() {
$.getJSON("/playlist/", function (data) {
$("#play-now-arti").empty();
$("#play-now-title").empty();
$("#last-played").empty();
var i = 0;
$.each(data.PlayHistory.PlayInfo, function (index, value) {
var arti = value["ARTI"];
var title = value["TITLE"];
i++;
if (i == 1) {
$("#now-playing-artist").html(arti);
$("#now-playing-song").html(title);
}
else if (i > 1 && i < 8) {
$("<li>" + arti + " - <span>" + title + "</span></li>").appendTo("#last-played");
}
});
});
setTimeout(playlist, 20000);
};
playlist();
功能播放列表(){
$.getJSON(“/playlist/”,函数(数据){
$(“#立即播放艺术”).empty();
$(“#立即播放标题”).empty();
$(“#上次播放”).empty();
var i=0;
$.each(data.playshistory.PlayInfo,函数(索引,值){
var arti=价值[“arti”];
var title=值[“title”];
i++;
如果(i==1){
$(“#现在扮演艺术家”).html(arti);
$(“#正在播放歌曲”).html(标题);
}
否则如果(i>1&&i<8){
$(“”+arti+”-“+title+” ”)。追加(“#上次播放”);
}
});
});
设置超时(播放列表,20000);
};
播放列表();
它确实是在缓存…-通过向我的函数中添加“$.ajaxSetup({cache:false});”,IE现在可以像其他浏览器一样进行更新
function playlist() {
$.ajaxSetup({ cache: false });
$.getJSON("/playlist/", function (data) {
$("#playlist").empty();
var i = 0;
$.each(data.PlayHistory.PlayInfo, function (index, value) {
var arti = value["ARTI"];
var title = value["TITLE"];
var spotify = value["Spotify"];
i++;
if (i == 1) {
$("<li class=\"jp-playlist-current\"><div tabindex=\"0\" class=\"jp-playlist-item jp-playlist-current\"><span class=\"jp-artist\">" + arti + ":</span><a href=\"" + spotify + "\" target=\"_blank\" title=\"Lyt i Spotify\"><img src=\"/img/spotify.png\" style=\"border: 0;\" /></a><br><span class=\"jp-title\">" + title + "</span></div></li>").appendTo("#playlist");
}
else {
$("<li><div tabindex=\"0\" class=\"jp-playlist-item\"><span class=\"jp-artist\">" + arti + ":</span><a href=\"" + spotify + "\" target=\"_blank\" title=\"Lyt i Spotify\"><img src=\"/img/spotify.png\" style=\"border: 0;\" /></a><br><span class=\"jp-title\">" + title + "</span></div></li>").appendTo("#playlist");
}
});
});
setTimeout(playlist, 200000);
};
playlist();
功能播放列表(){
$.ajaxSetup({cache:false});
$.getJSON(“/playlist/”,函数(数据){
$(“#播放列表”).empty();
var i=0;
$.each(data.playshistory.PlayInfo,函数(索引,值){
var arti=价值[“arti”];
var title=值[“title”];
var spotify=值[“spotify”];
i++;
如果(i==1){
$(“”+arti+”:
“+title+” ”)。附加到(“#播放列表”);
}
否则{
$(“”+arti+”:
“+title+” ”)。附加到(“#播放列表”);
}
});
});
设置超时(播放列表,200000);
};
播放列表();
可能与缓存有关?尝试每次发送一个唯一的get请求,可能会将当前时间添加到get url。我怀疑@zaf可能是正确的。IE有时很难缓存东西。您可以切换到底层方法,并将缓存
参数指定为假
,对于您的请求,该参数当前将默认为真
,或者按照@zaf的建议,自己附加一个时间戳。