gpt4 book ai didi

javascript - 如何将对象从一个 javascript 文件移动到另一个 javascript 文件?

转载 作者:太空宇宙 更新时间:2023-11-04 16:12:53 24 4
gpt4 key购买 nike

我基本上试图将一个对象从 app.js 传递到 server.js。

我已经研究了所有将变量从一个文件移动到另一个文件的类似问题,但我似乎无法将这些解决方案应用到我的情况中。

我有 2 个 JavaScript 文件和 1 个 html 文件。在第一个 javascript 文件中,我从 app.js 获取数据并将其放入变量数据中:

$(function() {
$.getJSON('http://api.stackexchange.com/2.2/questions/unanswered?page=1&pagesize=5&order=desc&sort=activity&site=stackoverflow', function(data) {
console.log(data);
})
sessionStorage.setItem('mydata', data);
});

在 server.js 文件中,我尝试检索名为 data 的变量并控制台记录它。我觉得我很接近,因为我得到了 [object object],但似乎无法将其打开到数据集。

var newData = sessionStorage.getItem('mydata');
console.log("From server.js:", newData);
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>

<body>
<script data-require="jquery@*" data-semver="3.0.0" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0/jquery.js"></script>
<script src="app.js"></script>
<script src="server.js"></script>
</body>

</html>

如果更容易看到的话,我在 plunker 上也有这个例子:http://plnkr.co/edit/kqwvW545sDKDMr0kidcd

感谢任何帮助。

最佳答案

这是因为您将对象直接保存到 session 存储中。您应该将其保存为 JSON 字符串。在 session 存储中,您不应直接保存对象。

sessionStorage.setItem('mydata', JSON.stringify(data));

您可以检索该对象并在 server.js 中进行 JSON.parse

var newData = sessionStorage.getItem('mydata');
console.log("From server.js:", JSON.parse(newData));

在 app.js 中,对 plunker 代码进行以下更改,以便存储 session 存储中的数据,并在 ajax 调用完成后加载 server.js。

$(function() {
$.getJSON('http://api.stackexchange.com/2.2/questions/unanswered?page=1&pagesize=5&order=desc&sort=activity&site=stackoverflow', function(data) {
console.log("resp",data);
sessionStorage.setItem('mydata', JSON.stringify(data));


$.getScript( "server.js", function( data, textStatus, jqxhr ) {
});
})


});

在 server.js 中

var newData = sessionStorage.getItem('mydata');
console.log("From server.js:", JSON.parse(newData));

http://plnkr.co/edit/bEXEBZxPByjErmMTNblf?p=preview

关于javascript - 如何将对象从一个 javascript 文件移动到另一个 javascript 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41326044/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com