如何从html页面调用node.js服务器javascript 处境

如何从html页面调用node.js服务器javascript 处境,javascript,html,node.js,web,Javascript,Html,Node.js,Web,我有一个调用多个javascript文件的html页面。现在一切都在客户端工作 因为我需要在javascript中执行jar,所以我切换到Node.js。(小程序已弃用) 然而,我对node.js还不熟悉,对如何链接所有内容感到困惑 我有: index.html调用各种.js脚本(files.js、objects.js等) webServer.js使node.js服务器 var http = require('http'); var fs = require('fs'); http.creat

我有一个调用多个javascript文件的html页面。现在一切都在客户端工作

因为我需要在javascript中执行jar,所以我切换到Node.js。(小程序已弃用)

然而,我对node.js还不熟悉,对如何链接所有内容感到困惑


我有: index.html调用各种.js脚本(files.js、objects.js等)

webServer.js使node.js服务器

var http = require('http');
var fs = require('fs');
http.createServer(function (req, res) {
    fs.readFile('index.html', function(err, data) {
    res.writeHead(200, {'Content-Type': 'text/html'});
    res.write(data);
    res.end();
    });

}).listen(8080);
执行jar的javaApp.js

var exec = require('child_process').exec;
var child = exec('java -jar E:/JavaApp.jar',
function (error, stdout, stderr){
    console.log('Output -> ' + stdout);
    if(error !== null){
        console.log("Error -> "+error);
    }
});
module.exports = child;

问题 我想,当点击html中的一个按钮时,调用服务器端的javaApp.js

我知道Express可以用来将index.html链接到webServer.js,但我不知道如何将index.html链接到服务器使用的代码

i、 e.如果没有函数名,如何从index.html调用javaApp.js?

这个答案相关吗

如果没有函数名,如何从index.html调用javaApp.js

你不能。至少不明智

更改它,使其导出一个函数,如果您想多次调用它,则可以调用该函数

因为它是异步的,所以应该使该函数返回一个

在您的Web服务器中,您编写的函数用于访问它导出的函数

编写一个调用该函数并返回适当HTTP响应的函数

然后,通过单击、提交、使用或您喜欢的任何其他方法,使浏览器向该路由发出HTTP请求

如果没有函数名,如何从index.html调用javaApp.js

你不能。至少不明智

更改它,使其导出一个函数,如果您想多次调用它,则可以调用该函数

因为它是异步的,所以应该使该函数返回一个

在您的Web服务器中,您编写的函数用于访问它导出的函数

编写一个调用该函数并返回适当HTTP响应的函数


然后,通过单击、提交、使用或您喜欢的任何其他方法,使浏览器向该路由发出HTTP请求。

您的Web服务器现在已经非常简单了。当使用http(get)调用ip+端口8080时,只发送index.html。 在使用jar模块之前,您必须在Web服务器中提出要求:

var child = require('javaApp')

这将允许您使用错误函数访问“child”wrappet。“孩子”实际在做什么,能做什么,你可能知道(我希望)。如果你跳过index.html,你可以从你的“孩子”那里发送一些响应,看看它是如何工作的。

你的Web服务器现在已经非常简单了。当使用http(get)调用ip+端口8080时,只发送index.html。 在使用jar模块之前,您必须在Web服务器中提出要求:

var child = require('javaApp')

这将允许您使用错误函数访问“child”wrappet。“孩子”实际在做什么,能做什么,你可能知道(我希望)。如果你跳过index.html,你可以从你的“孩子”那里发送一些响应,看看它是如何工作的。

如果你想在服务器上调用jar,你必须为它创建一个路由(可能使用express)

您的按钮必须在
/call java app
处发出get请求,并可以选择等待服务器的任何响应

var url = '/call-java-app';
console.log(url);
var xmlHttp = new XMLHttpRequest();

xmlHttp.onreadystatechange = function () {
    if (xmlHttp.readyState === 4) {
        //handle server response here if you want to
    }
}
xmlHttp.open("GET", url, true); // false for synchronous request
xmlHttp.send(null);

如果您想在服务器上调用jar,您必须为它创建一个路由(可能使用express)

您的按钮必须在
/call java app
处发出get请求,并可以选择等待服务器的任何响应

var url = '/call-java-app';
console.log(url);
var xmlHttp = new XMLHttpRequest();

xmlHttp.onreadystatechange = function () {
    if (xmlHttp.readyState === 4) {
        //handle server response here if you want to
    }
}
xmlHttp.open("GET", url, true); // false for synchronous request
xmlHttp.send(null);

注意:必须小心index.html的路由方式,否则响应就是整个html页面(请参阅)注意:必须小心index.html的路由方式,否则响应就是整个html页面(请参阅)