javascript - 如何清除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 数据。
有什么办法可以解决这个问题。
谢谢你
解决方案
首先,永远不要这样放置 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>';
}
}
});
}
推荐阅读
- python - 我需要根据点的位置填充字段
- google-cloud-platform - Google Vision 并不总是在网络检测响应中包含 pagesWithMatchingImages
- amazon-web-services - 添加了 aws apigateway lambda 授权程序,出现 500 错误
- json-ld - 谷歌搜索结构化数据中允许使用哪些字符
- c - 为什么我在 C 中得到错误的平均值?
- for-loop - 初始化 for 循环计数器的成本是多少?为什么使用 int 而不是 byte?
- python - 在 Python 中,如何在创建的 csv 文件中插入一个附加字段,该文件根据查询结果对字段内容具有 elseif 条件?
- django - nginx API 跨源调用仅在某些浏览器中不起作用
- swift - 如何删除 uicollectionview 中的 sectionHeader?
- javascript - Promise 提前返回 - 带有 Promise 的映射数组