javascript - 如何通过单击 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);
});
}
解决方案
从浏览器触发服务器上某些东西的标准方法是向它发出 HTTP 请求。
因此,设置一个 HTTP 端点来触发该功能(例如,通过运行围绕 express 模块构建的服务器或使用 AWS Lambda 等云服务),然后使用客户端 JS 发出请求(例如,使用 Fetch API)。
推荐阅读
- javascript - 由于屏幕分辨率的差异,计算项目的正确位置
- firebase - 未找到 Flutter Firebase.signInWithGoogle 方法
- z3 - Z3 答案不满足约束
- c - 从线程中停止 main
- python - 如何修复“TypeError unsupported operand type(s) for /: 'int' and 'function'”?
- rx-swift - Completable 的 RxSwift 缓存操作符
- apache-spark - 在 Spark 2.4 上的 pyspark.sql.functions.max().over(window) 上使用 .where() 会引发 Java 异常
- gtk - 在 gtkada (GTK3) 中获取小部件的当前/默认字体
- python - 尝试删除 python 中的第一行失败?
- android-studio - 父 RecyclerView 未从子活动更改更新并取消协程支持