首页 > 解决方案 > 如何通过单击 html 中的按钮来运行节点 js 文件(进行 api 调用并将数据放入工作表中)

问题描述

我试图在这里得到一些关于堆栈溢出的答案,但我不太明白。

我想通过单击 html 中的按钮来执行我的节点 js 脚本。节点 js 文件从 excel 工作表中提取数据并将其放入特定工作表中。

如果我在控制台中运行节点 js 文件,它可以完美运行。但是如何将这个文件与 html 中的按钮连接起来呢?仅仅调用函数是不可能的,因为节点 js 文件是在服务器上运行的。

这是我想通过单击按钮执行的功能

function importData(){
    //import the smartsheet
    ss.sheets.importXlsxSheet(options)
    .then(function(result) {
        console.log("Created sheet '" + result.result.id + "' from excel file");
        
        // Load entire sheet
        ss.sheets.getSheet({ id: result.result.id })
            .then(function(sourceSheet) {
                console.log("Loaded: " + sourceSheet.rows.length + " rows from sheet '" + sourceSheet.name + "'");
                console.log("Done");

                    //copy every row from sourcesheet in a array 
                    const sourceSheetRows = sourceSheet.rows;
                    writeRowsinArray(result, sourceSheetRows);
            })
            .catch(function(error) {
                console.log(error);
            });
    })
    .catch(function(error) {
        console.log(error);
    });
}

标签: javascriptnode.jssmartsheet-api

解决方案


从浏览器触发服务器上某些东西的标准方法是向它发出 HTTP 请求。

因此,设置一个 HTTP 端点来触发该功能(例如,通过运行围绕 express 模块构建的服务器或使用 AWS Lambda 等云服务),然后使用客户端 JS 发出请求(例如,使用 Fetch API)。


推荐阅读