Javascript 使用express server打开新的html页面
我有一个带有两个按钮的登录页面。我希望当我点击register按钮时,会打开一个新的html页面(register.html)。所有文件都位于同一文件夹中 到目前为止,我尝试的是: 我的index.html文件(主页): Javascript文件:Javascript 使用express server打开新的html页面,javascript,html,node.js,express,Javascript,Html,Node.js,Express,我有一个带有两个按钮的登录页面。我希望当我点击register按钮时,会打开一个新的html页面(register.html)。所有文件都位于同一文件夹中 到目前为止,我尝试的是: 我的index.html文件(主页): Javascript文件: var express = require('express'); var lastResult = ''; var app = express(); var path = require('path'); var bodyParser = req
var express = require('express');
var lastResult = '';
var app = express();
var path = require('path');
var bodyParser = require('body-parser');
app.use(bodyParser());
app.use(express.static(path.join(__dirname + '/')));
app.get('/register',function(req,res){
res.sendFile('/register.html');
});
app.listen(3000);
function RegisterUser() {
$.get("/register", function(res){
});
}
还有注册,html文件,我想在点击后打开。
我试图在JS文件上创建一个“RegisterUser()”函数,该函数调用服务器上的get函数。
我对node.js和express server的世界都是新手。如果这不是正确的方法,请纠正我
谢谢
我希望当我点击register按钮时,会打开一个新的html页面(register.html)
您正在发出一个Ajax请求,然后对服务器发送的数据不做任何处理
如果你想打开一个新页面…只需使用一个链接
<a href="/register">Login</a>
如果您只想将用户重定向到另一个页面而不使用
我认为使用服务器所在的server.js文件来执行前端客户端的功能不是一个好主意。我通常有两个文件,index.js
,这是我的服务器文件,也是node.js读取的文件,然后我有client.js
,这是发送到客户端的文件。这有助于使事情变得更简单。您只需更改register按钮的onClick属性,将浏览器指向register页面,js服务器就会发送html文件
<input type="button" onclick="window.open('http://localhost:3000/register')" value="Login"></button>
以上内容将在新选项卡中打开,要从当前选项卡重定向,请使用:
<input type="button" onClick="location.href='http://localhost:3000/register'" value="Login"></button>
如果您没有在本地运行应用程序,请用IP替换localhost,希望这有帮助 开放是什么意思?好像你想进入一个新的页面?不管怎样,你为什么不直接用锚定标签而不是按钮呢?用
替换…
,然后适当设置锚定标记的样式,使其与其他按钮匹配。它不起作用。它只是把我转到“file:///C:/register“(文件位于其他文件夹中),即使我将其移动到C,它也不会打开它。@Ohad121-这是因为您直接从磁盘而不是从Express Web服务器加载了index.html
。您能解释一下我如何在本地运行此程序吗?嗯node server.js
谢谢你的帮助。但我是如何通过点击按钮来实现的?那是行不通的。绝对URL必须从一个方案开始(无论如何,没有理由首先使用绝对URL)。我想构建一个web应用程序。我不想用服务器打开新页面吗?thanks@Ohad121我认为,您可以使用服务器脚本打开一个新网页。如果使用socket.io
,可以要求服务器将用户重定向到新页面。如果没有socket.io
,客户机和服务器之间的通信将困难得多。如果您想看一看,我已经链接了它。@Ohad121您的代码不起作用的另一个原因是您的javascript文件没有与服务器文件通信。为此,请检查socket.io。在那里,您可以从客户端发出请求,通知服务器执行特定任务。然后,您可以告诉服务器是否返回响应。
window.location.replace('your link')
window.location.replace('register.html`)
<input type="button" onclick="window.open('http://localhost:3000/register')" value="Login"></button>
<input type="button" onClick="location.href='http://localhost:3000/register'" value="Login"></button>