Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/472.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将变量保存在JSON文件中_Javascript_Json - Fatal编程技术网

Javascript 将变量保存在JSON文件中

Javascript 将变量保存在JSON文件中,javascript,json,Javascript,Json,我对Javascript非常陌生,并试图通过体验来学习。对不起,如果这个问题是乘法或超简单的问题。我正在使用一个开源服务器,我需要做一些补充。。以下是代码的一部分: /** * Event listener * * @param {SceneJS.node} hit Selected SceneJS node */ pick: function(hit) { this.unselect(); this.highlighted = this.SYSTEM.scene

我对Javascript非常陌生,并试图通过体验来学习。对不起,如果这个问题是乘法或超简单的问题。我正在使用一个开源服务器,我需要做一些补充。。以下是代码的一部分:

    /**
 * Event listener
 *
 * @param {SceneJS.node} hit Selected SceneJS node
 */
pick: function(hit) {
    this.unselect();
    this.highlighted = this.SYSTEM.scene.findNode(hit.nodeId);
    var groupId = this.highlighted.findParentByType("translate").data.groupId;
    strID = (hit.nodeId);   
    alert(strID);
........
我将strID变量定义为全局变量。在最后一次使用中,我在浏览器中选择了一个三维模型的节点,所选元素的nodeID作为警报显示在屏幕上。如何将所选实体的“nodeId”(或“strID”变量)写入JSON文件,并将文件保存在本地驱动器的文件夹中。因此,我可以使用这个JSON文件进行进一步的步骤


也许我不知道该搜索哪些关键字。。我检查了两种方法,比如
JSONstringify
,但都没有成功。非常感谢您的帮助。

您应该检查本地存储,以便在会话之间保存此数据

localStorage.setItem('strID', strID);


抱歉,我没有阅读有关节点的内容,但让我们尝试一下:

    /**
 * Event listener
 *
 * @param {SceneJS.node} hit Selected SceneJS node
 */
pick: function(hit) {
    this.unselect();
    this.highlighted = this.SYSTEM.scene.findNode(hit.nodeId);
    var groupId = this.highlighted.findParentByType("translate").data.groupId;
    strID = (hit.nodeId);   
    alert(strID);
    var fs = require('fs');
    fs.writeFile("/data/strID", strID, function(err) {
    if(err) {
        return console.log(err);
    }

    console.log("The file was saved!");
    });
........

要读取它,请使用readFile。它给出了有关strID的数据格式的问题,用于在保存之前转换为可读的

我相信他是在问如何在节点中保存数据,而不是在浏览器中。这只适用于前端JS。感谢回复。我研究了locaStorage.setItem和(getItem),并尝试了几乎所有的可能性@PrestonBadeer我意识到nodeId不是作为服务器响应出现的。你能给我举个类似的例子吗?或者具体地说,对于可能的解决方案,我应该使用哪些关键字?ThanksI尝试了上面的代码。控制台出现以下错误:
Uncaught错误:尚未为上下文加载模块名“fs”:。使用require([])
    /**
 * Event listener
 *
 * @param {SceneJS.node} hit Selected SceneJS node
 */
pick: function(hit) {
    this.unselect();
    this.highlighted = this.SYSTEM.scene.findNode(hit.nodeId);
    var groupId = this.highlighted.findParentByType("translate").data.groupId;
    strID = (hit.nodeId);   
    alert(strID);
    var fs = require('fs');
    fs.writeFile("/data/strID", strID, function(err) {
    if(err) {
        return console.log(err);
    }

    console.log("The file was saved!");
    });
........