Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.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
Javascript 我每秒执行一次Ajax调用,但如果内容';s已更改,然后我替换图像源。这会导致图像中断_Javascript - Fatal编程技术网

Javascript 我每秒执行一次Ajax调用,但如果内容';s已更改,然后我替换图像源。这会导致图像中断

Javascript 我每秒执行一次Ajax调用,但如果内容';s已更改,然后我替换图像源。这会导致图像中断,javascript,Javascript,我有一个来自LastFM的广播。所以为了保持更新,我必须每秒发送ajax调用。如果数据发生变化,我的图像源和标题都应该改变。但在我的例子中,标题改变了,图像中断了 $.ajax({ url: 'urltolastfm', success: function(data) { if ($('#thumbnail').attr('src') !== data.recenttracks.track[0].image[3]['#text']) { $('#thumbnail')

我有一个来自LastFM的广播。所以为了保持更新,我必须每秒发送ajax调用。如果数据发生变化,我的图像源和标题都应该改变。但在我的例子中,标题改变了,图像中断了

$.ajax({
  url: 'urltolastfm',
  success: function(data) {
    if ($('#thumbnail').attr('src') !== data.recenttracks.track[0].image[3]['#text']) {
      $('#thumbnail').hide();
      $('#thumbnail').attr('src', data.recenttracks.track[0].image[3]['#text']); // this is where i change the source
      $('#thumbnail').show();
    }
  }
});

实际的错误是,我在加载页面时进行了一个ajax调用,然后每秒钟进行一次ajax调用,并使其使用数据更改段落行。它导致数据溢出。所以我创建了一个ajax调用作为函数,然后使用超时来调用它

  function checkThumbnail() {
            if ($('#thumbnail').length > 0) {
                return true;
            } else {
                return false;
            }
        }

        function fetchdata() {
            $.ajax({
                url: 'https://ws.audioscrobbler.com/2.0/?method=user.getRecentTracks&user=evillarreal42&api_key=6c7cf66516c75e782226590e933f6c6b&format=json&limit=1',

                success: function(data) {
                    if ($('#thumbnail').attr('src') !== data.recenttracks.track[0].image[3]['#text']) {
                        $('#lastfm').empty().append(
                            '<h6 class="marg" style="margin-bottom:10px;  text-align:center;"><span class="mon" style="color:black; text-align:center">● Now playing → "' +
                            data.recenttracks.track[0].name + '" by ' + data.recenttracks.track[0]
                            .artist['#text'] + ' from ' + data.recenttracks.track[0].album[
                                '#text'] + ' </span></h6>');
                        if (!checkThumbnail()) {
                            $('#foot').fadeToggle( "slow", "linear" );
                            var img = $('<img id="thumbnail">'); //Equivalent: $(document.createElement('img'))
                            img.attr('src', data.recenttracks.track[0].image[3]['#text']);
                            img.css({
                                "position": "absolute",
                                "top": "50%",
                                "left": "50%",
                                "width": "250px",
                                "height": "250px",
                                "margin-top": "-125px",
                                /* Half the height */
                                "margin-left": "-125px",
                                "display": "none",
                                "z-index": "22" /* Half the width */
                            });
                            img.appendTo('.bgg');
                        } else {
                            $('#thumbnail').attr('src', data.recenttracks.track[0].image[3]['#text']);
                        }
                    }
                }
            });
        }

        $(document).ready(function() {
            setInterval(fetchdata, 1000);});
函数检查缩略图(){
如果($('#缩略图')。长度>0){
返回true;
}否则{
返回false;
}
}
函数fetchdata(){
$.ajax({
网址:'https://ws.audioscrobbler.com/2.0/?method=user.getRecentTracks&user=evillarreal42&api_key=6c7cf66516c75e782226590e933f6c6b&format=json&limit=1',
成功:功能(数据){
if($('#缩略图').attr('src')!==data.recenttracks.track[0].image[3]['#text'])){
$('#lastfm').empty().append(
'● 现在玩→ "' +
data.recenttracks.track[0]。name+''by'+data.recenttracks.track[0]
.artist['#text']+'来自'+data.recenttracks.track[0]。相册[
“#文本”]+”;
如果(!checkThumbnail()){
$(“#英尺”).fadeToggle(“慢”、“线性”);

var img=$('这里没有任何内容涉及到标题。当您在成功回调上设置断点以观察
数据
实际是什么时会发生什么?(或者当您添加console.log语句时)?我打赌它不是完整的URL,可能只是文件名。您需要在其前面加上主机名。
console.log(data.recenttracks.track[0]。图像[3]['#text'];
-?数据的确切值是多少。recenttracks.track[0]。image[3]['#text']
-例如包括前导/尾随空格