首页 > 解决方案 > 如何清除ajax响应数据?

问题描述

我正在尝试用 jQuery 解析 JSON。

这是我的代码

var urlto ="some url";

function loadNews(){

    $.ajax({
    url: urlto,
    dataType: 'json',
    type:'get',
    cache: false,
    success: function(data) {

        var art = data;

        var source = art.news;

        var i;

        for (var i = 0; i < source.length; i++) {
         var x = art.news[i];

         var titles = x.title;
         if(titles.length > 73){
             titles = titles.substring(0, 69)+"...";
         }

         var descriptionvr = x.description;
         if(descriptionvr.length > 66){
             descriptionvr = descriptionvr.substring(0, 64)+"...";
         }

         document.getElementById('result').innerHTML += '<style>.new_container{width: 100%; border:2px solid gray; border-bottom-left-radius: 30px; border-top-left-radius: 30px;}.new_container img{height: 270px; width: 430px; display:inline; border-bottom-left-radius: 30px; border-top-left-radius: 30px;}.title{float: right; width: 53%; padding-top: 10px; color: #50597B; font-weight: 600; font-size: 40px; font-family: sans-serif;;}.desciptions{color: #50597B; float: right; width: 53%; font-weight: 400; font-size: 19px; font-family: sans-serif; margin-top: -11%;}.attribute{color: #50597B; float: right; font-weight: 400; font-size: 18px; font-family: sans-serif; margin-top: -2.5%; padding-right: 7px;}.wrapper{padding-bottom: 30px;}</style><div class="wrapper"><div class="new_container""><img src="'+x.image+'"><div class="title">'+titles+'</div><div class="desciptions">'+descriptionvr+'</div><div class="attribute">'+x.author+' - '+x.published+'</div></div></div>';

        }
    }
});
}

我还有一个调用函数的按钮叫做changeURL

这是功能

function changeURL(){
urlto = "some another url";
loadNews();
}

此函数基本上更改 URL 并再次调用 Ajax 函数,但问题是当我更改 URL 并再次调用 Ajax 函数时,它会显示来自旧 URL 的旧 JSON 数据以及来自新 URL 的新数据 JSON。我的意思是将新旧 JSON 数据混合在一起,但我只想显示新的 JSON 数据。

有什么办法可以解决这个问题。

谢谢你

标签: javascripthtmljquery

解决方案


首先,永远不要这样放置 CSS。您应该将所有 CSS 代码放在单独的文件中(例如“styles.css”),或者放在 HTML 页面的“head”中。单独的文件更好。

要重置“结果”,请尝试:

var urlto ="some url";

function loadNews(){

    $.ajax({
    url: urlto,
    dataType: 'json',
    type:'get',
    cache: false,
    success: function(data) {

        document.getElementById('result').innerHTML = ""

        var art = data;

        var source = art.news;

        var i;

        for (var i = 0; i < source.length; i++) {
         var x = art.news[i];

         var titles = x.title;
         if(titles.length > 73){
             titles = titles.substring(0, 69)+"...";
         }

         var descriptionvr = x.description;
         if(descriptionvr.length > 66){
             descriptionvr = descriptionvr.substring(0, 64)+"...";
         }

         document.getElementById('result').innerHTML += '<style>.new_container{width: 100%; border:2px solid gray; border-bottom-left-radius: 30px; border-top-left-radius: 30px;}.new_container img{height: 270px; width: 430px; display:inline; border-bottom-left-radius: 30px; border-top-left-radius: 30px;}.title{float: right; width: 53%; padding-top: 10px; color: #50597B; font-weight: 600; font-size: 40px; font-family: sans-serif;;}.desciptions{color: #50597B; float: right; width: 53%; font-weight: 400; font-size: 19px; font-family: sans-serif; margin-top: -11%;}.attribute{color: #50597B; float: right; font-weight: 400; font-size: 18px; font-family: sans-serif; margin-top: -2.5%; padding-right: 7px;}.wrapper{padding-bottom: 30px;}</style><div class="wrapper"><div class="new_container""><img src="'+x.image+'"><div class="title">'+titles+'</div><div class="desciptions">'+descriptionvr+'</div><div class="attribute">'+x.author+' - '+x.published+'</div></div></div>';

        }
    }
});
}

推荐阅读