我们可以更新一个javascript数组变量,而不使用ajax重新加载页面吗?


Can we update a javascript array variable, with out reloading a page using ajax?

我们可以在不重新加载页面和刷新的情况下更新javascript数组变量吗?我有一个数组中的数据列表。后来我使用 php 和 ajax 获取了更多数据。现在我想将从 php ajax 获得的新数据附加到旧的 javascript 变量中,该变量中已经有一个数组。我不想重新加载页面。但我们也可以覆盖数据。使用这个javascript变量,一些javascript函数正在被执行,并根据数据显示一些图片。我们能做这样的事情吗?还是我们必须重新加载框架才能执行 JavaScript?

简短回答:是的,您可以将/附加/连接/任何新数组项添加到现有数组中。

说明:假设您有一个包含数组的变量,以及一个是数组或包含数组的响应,则可以使用 array.concat() 方法将新内容追加到旧数组中。

//let existingArray be your array in the page
var existingArray = [];
//during AJAX success, you overwrite the existing variable with
//a concatenated array comprising the old and the new.
existingArray = existingArray.concat(newArray);

如果我用是/否来回答这个问题,那么是的,使用 ajax 回调函数返回数据将被追加/连接到 js 变量。

就像

AJAX一样,你需要调用一个JavaScript函数才能发生某些事情,你也可以用同样的方式调用JavaScript函数,而不是做AJAX事情,你可以做其他事情。例如,向数组中添加一些内容。或覆盖它。

只需在您想要的位置调用您的函数(在 onclick 中,或在 AJAX 调用的返回中(成功或错误回调((,并让该函数修改您的变量。