如何通过ajax点击时从javascript文件执行节点(控制台)命令

2024-05-03

我是 Node.js 新手,这是我的问题:

例如:我得到了 Web 应用程序,并且从该应用程序中我有一个按钮,单击按钮后我想运行节点控制台命令(例如:node socket.io)。

So:

$( ".button" ).on( "click", function() {
   //run ajax to node with command for example "node socket.io"
 });

所以在这个例子中我想从 web javascript 文件启动 socket.io。怎么做 ?我知道这是一个非常基本的问题,但我想了解如何做到这一点或者是否可能。

EDIT

但是是否可以使用该节点命令向 node.js 运行 ajax 请求,然后启动它(“node socket.io”)?

我问这个是因为我想从 Web 应用程序启动和停止 socket.io,而不是直接从控制台命令。


您需要这样的快速路线:

...

var exec = require('child_process').exec;

app.post('/exec', function(req, res) {
  var cmd = req.body.command;

  exec(cmd, function(error, stdout, stderr) {
    if (stderr || error) {
      res.json({
        success: false,
        error: stderr || error,
        command: cmd,
        result: null
      })
    } else {
      res.json({
        success: true,
        error: null,
        command: cmd,
        result: stdout
      })
    }
  })


})

...

note: stderr 和 stdout 是buffers https://nodejs.org/api/buffer.html.

然后你需要POST您的命令(使用 AJAX 或表单)/exec。这会给你一个回复,例如:

Success:

{
  success: true,
  error: null,
  command: "ls",
  result: "app.js bin node_modules package.json public routes views "
}

Failure:

{
    success: false,
    error: "/bin/sh: foobar: command not found ",
    command: "foobar",
    result: null
}

你需要成为极其不过,当您开放对系统控制台的访问时,请注意安全性。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何通过ajax点击时从javascript文件执行节点(控制台)命令 的相关文章

随机推荐

  • 如何在此彩票功能中显示所有猜中的号码?

    我用 JS 创建了一些简单的彩票功能 一切正常 我面临的唯一问题是如何显示所有已猜到的数字 我有 6 个独立的空间 其中必须提供数字 我的目标是显示随机空间中的滚动数字 它必须仅在 6 个空间之一中提供 这对我有用 但只显示 1 个数字 我
  • Phonegap html5视频无法播放

    我正在尝试在 iPad 上的phonegap 应用程序中播放视频 该视频给了我错误 MEDIA ERR SRC NOT SUPPORTED 我尝试播放的视频不是本地的 当我在该视频上使用curl I 时 这是它带来的信息 HTTP 1 1
  • 如何使错误冒泡,以便可以在同一个 try/catch 块中捕获它们?

    我有一个带有抛出错误的函数的对象 myObj ini function this f f function throw new Error 但我只想捕获创建对象的异常 try var o new myObj catch err alert
  • 音频端播放新文件

    我有一个webapp https radio repjesus com当您使用 ajax jquery 单击链接时加载并播放音轨 一切正常 但当曲目结束时 曲目将设置为循环 并且这种情况可以永远持续下去 我希望播放器从数据库中自动加载随机曲
  • 撤消 git merge(尚未推送)

    我只是将一些更改提交到我的功能分支之一 feedback tab 然后签出 master 并将它们合并到那里 我实际上打算将它们合并到我的 开发 分支中 现在 master 领先于 origin master 其远程 17 个提交 我还没有
  • git commit 给出错误:空提交集已通过

    当尝试恢复到以前的提交时 我尝试了 git revert no commit 0766c053 HEAD 然而这给出了一个错误 empty commit set passed 问题 该错误是什么意思 以及出了什么问题revert命令 删除
  • app_offline.htm 文件不起作用

    我已经为此奋斗了很多年 但我就是无法让它发挥作用 我去过的每个博客 网站都说您无需在 IIS 中执行任何操作 但这并不正确 因为有多个网站配置 例如应用程序 虚拟目录 简单的 php asp 网站 虚拟网站 有人可以向我解释一下 IIS7
  • 是否可以从 Visual Studio Online (VS Team Services) 编辑我的代码?

    I have 视觉工作室在线 http www visualstudio com products visual studio online overview vs 现在是 VS Team Services 帐户作为我的 MSDN 订阅的一
  • 如何在 Perl 中访问名称包含在变量中的常量?

    我有一组用 Perl 声明的常量 use constant C1 gt 111 use constant C2 gt 222 use constant C9 gt 999 my which constant C2 我如何构造一个 Perl
  • WiX - 根据环境将编译后的 web.config 复制到网站根目录

    作为 WiX 安装的一部分 我将所有转换 编译的 web config 文件复制到安装目录 编译后的 web config 的名称格式为 web ENV config 在我的安装 UI 中 我创建了一个自定义对话框 在其中解析 ENV 并填
  • Bash 变量:区分大小写?

    Bash shell 脚本区分大小写吗 是可变的date与DATE 是的 它区分大小写 就像 UNIX 的其余部分一样 date and DATE是两个不同的变量 makefile and Makefile是两个不同的文件 h and H是
  • 前导点的自动完成功能无法快速工作

    当我尝试在 swift 中使用 前导点语法 时 我没有得到任何自动完成建议 是否没有实现此自动完成功能 或者是我的 Xcode 版本 6 3 1 有问题 例如 当我尝试这样的事情时 let col UIColor whiteColor 在我
  • 数据操作 startdate enddate python pandas

    我有一个促销描述数据集 其中包含有关正在运行的各种促销活动及其开始日期 结束日期的信息 promo item start date end date Buy1 get 1 A 2015 01 08 2015 01 12 Buy1 get 1
  • 打印一个字符串,并将其特殊字符打印为文字转义序列

    我在 shell bash 脚本中有一个字符串 我想打印字符串 并将其所有 特殊字符 例如换行符 制表符等 打印为文字转义序列 例如换行符打印为 n 选项卡打印为 t 等等 不确定我是否使用了正确的术语 该示例应该能够澄清问题 Exampl
  • Enthought Python 中的线程 FFT

    Numpy SciPy 中的快速傅立叶变换 FFT 不是线程化的 Enthought Python 附带 Intel MKL 数值库 该库能够进行线程 FFT 如何获得这些例程 以下代码适用于 Windows 7 Ultimate 64 位
  • Cloud Run 是否支持服务器发送事件 (SSE)?

    我们无法让 SSE 从 Google Cloud Run 上的容器发送 我尝试过仅使用一个简单的 SSE 示例来托管容器 https github com kljensen node sse example https github com
  • debugger-ruby_core_source gem 没有提供 ruby​​-2.0.0-p451 的源代码

    我在其他 SO 问题中看到了非常类似的问题 例如debugger ruby core source gem 没有提供 ruby 1 9 2 p321 的源代码 https stackoverflow com questions 204618
  • AVFoundation 在后台/锁屏上播放音频 Swift

    我正在尝试找到一种使用 AVFoundation 在用户处于锁定屏幕上或在使用我的应用程序期间锁定应用程序时播放音频的方法 class ViewController UIViewController AVAudioPlayerDelegat
  • 如何在 Presto 中删除重复数据

    我有一个 Presto 表 假设它有 id name update time 列和数据 1 Amy 2018 08 01 1 Amy 2018 08 02 1 Amyyyyyyy 2018 08 03 2 Bob 2018 08 01 现在
  • 如何通过ajax点击时从javascript文件执行节点(控制台)命令

    我是 Node js 新手 这是我的问题 例如 我得到了 Web 应用程序 并且从该应用程序中我有一个按钮 单击按钮后我想运行节点控制台命令 例如 node socket io So button on click function run