我试图从其他域请求JSON文档,但它可以正常工作。
但是,我的主要问题是JSON在更新后没有更新对象。
这是我的上一页/更新前 JSON数据。
{
"name": "human",
"version": "1.0",
"list": [
{"name": "Human1", "blood": "A"}
]
}
这是我的 AJAX功能
function getHumans () {
$.ajax({
type: "GET",
crossDomain: true,
cache: false,
url: "https://some.website/file.json",
dataType: 'json',
success: function (data) {
console.log(data);
}
});
};
第一个请求非常好,输出:
{name: "human", version: "1.0", list: Array(1)}
然后,我试图在list
数组上添加另一个对象。因此,数组应该是(2),但事实并非如此。数组仍然(1),我也关闭了我的缓存,但没有工作。
我希望JSON能够自动更新/刷新对象,而无需重新加载或刷新页面。我在电子上使用它。
答案 0 :(得分:0)
您应该使用.push()添加元素。我们假设:
a = {name: "human", version: "1.0", list: [1]}
a.list.push(2);
结果:
{name: "human", version: "1.0", list: [1,2]}
如果您的新列表元素来自数据:
a.list.push(data.list[0]); //or similar
如果要替换整个列表数组,则:
a.list = data.list;
请记住,在这种情况下,var a
需要在getHumans()函数的上下文之外生效,因此,每次调用getHumans()时,该函数必须更新{{1}的值},您可以将变量作为参数传递或执行类似a
的操作,其中getHumans()返回a的新值。