如何使用javascript从一个页面转到另一个页面?

SIV*_*R.J 64 javascript web-applications vs-web-application-project

如果用户有效,则从管理页面开始,浏览器应转到另一个页面.

当用户输入其用户名和密码,然后单击"确定"按钮,则会显示另一个页面,并自动关闭登录页面.

我怎么能用JavaScript做到这一点?

Dav*_*ang 107

要使用javascript简单地重定向浏览器:

window.location.href = "http://example.com/new_url";
Run Code Online (Sandbox Code Playgroud)

要重定向并提交表单(即登录详细信息),不需要javascript:

<form action="/new_url" method="POST">
   <input name="username">
   <input type="password" name="password">
   <button type="submit">Submit</button>
</form>
Run Code Online (Sandbox Code Playgroud)

  • 另外,至少Safari会处理这个问题:您不需要为脚本方法指定域.因此,如果您的代码已经在`http:// example.com`,那么只需`window.location.href ='new_url';`就行了.如果您的代码将在多个域上使用,但您始终希望将用户重定向到他们已经在的域中的相同子路径,则此功能特别有用. (7认同)

Que*_*tin 10

不能理智地依赖客户端 JavaScript来确定用户凭据是否正确.浏览器(以及执行该操作的所有代码)都在用户的控制之下,而不是您,因此它不值得信任.

需要使用表单输入用户名和密码.确定按钮将是一个提交按钮.action属性必须指向一个URL,该URL将由检查凭据的程序处理.

这个程序可以用JavaScript编写,但是你如何去做将取决于你使用的服务器端JavaScript引擎.请注意,SSJS不是主流技术,因此如果您真的想要使用它,则必须使用专门的托管或管理您自己的服务器.

(半年后,由于Node.js,SSJS更常见,但它仍然相当专业).

如果您想在之后重定向,则程序需要发出HTTP Location标头.

请注意,在输出任何私有页面之前,您需要检查凭据是否正常(通常通过在cookie中存储令牌,这不是实际密码).否则,任何人都可以通过知道URL(从而绕过登录系统)到达私人页面.


Mir*_*tor 7

验证用户是否为javascript管理员会导致问题,因为任何人都可以看到javascript代码.服务器应该在登录过程之后告诉管理员和普通用户之间的区别,然后相应地生成新页面.

也许这不是你想要这样做来回答你的问题:

window.location.href="<the page you are going to>";
Run Code Online (Sandbox Code Playgroud)


Vin*_*ili 5

试试这个,

window.location.href="sample.html";
Run Code Online (Sandbox Code Playgroud)

sample.html是下一页.它将转到下一页.


小智 5

还有几种重定向方法:

  • location.replace("http://example.com");
  • location.href = "http://example.com"
  • window.location = "http://example.com"
  • window.location.href = "http://example.com"