-1

我有一个带有超链接的 html 文件,它调用 javascript 函数。javascript 函数必须调用一个批处理文件......这一切都应该从 Node.js 发生

<html>
<head>
<title>sample</title>
<script src="child.js"></script>
</head>
<body>
<a href="#" onclick="call()">click here</a>
</body>
</html>

child.js

function call()
{

var spawn = require('child_process').spawn,
ls = spawn('append.bat');
}

我收到这样的错误......

ReferenceError: require is not defined
var spawn = require('child_process').spawn,

任何答案..请回复...

4

2 回答 2

1

Node.js 是 JavaScript 的服务器端环境。要从网页与其交互,您需要建立一个http.Server使用 Ajax之间的通信。

一个部分示例(使用一些库来简化)是:

// server-side
app.post('/append', function (req, res) {
    exec('appand.bat', function (err, stdout, stderr) {
        if (err || stderr.length) {
            res.send(500, arguments);
        } else {
            res.send(stdout);
        }
    });
});
// client-side
function call() {
    $.post('/append').done(function (ls) {
        console.log(ls);
    }).fail(function (xhr) {
        console.error(xhr.responseText);
    });
}

演示的库是用于服务器端的Express和用于客户端的jQuery。它还使用child_process.exec()而不是spawn()获取Buffers 而不是Streams。

资源:

于 2013-08-06T09:55:51.880 回答
0

您无法从浏览器访问 Node.js。

于 2013-08-06T07:40:57.137 回答