将用户重定向到登录主页

Redirect users to home page on login

我想构建一个登录页面,在单击提交按钮后将用户重定向到主页,但我还想将表单的详细信息发送到后端。我怎样才能做到这一点?

如果您使用的是 vanilla js,您可以使用

停止提交和停止重新加载的默认行为
e.preventDefault()

在onSubmit函数中然后post将数据传到后端并重定向页面 通过使用

window.location.href = "<redirect-url>"

HTML 表单的默认行为是 post 向后端发出请求。如果需要,这当然可以被覆盖,但在这种情况下,默认是您想要的行为。

有多种不同的编程语言可用于完成后端任务以及各种框架和库。例如,您可以使用 PHP 这是一种流行的服务器端编程语言。在此基础上构建——您拥有诸如 CodeIgniter 之类的框架,它可以处理语言的大部分“繁重工作”,并且可以更快地起床 运行 但是在对来自地面上。

您目前对特定的后端语言有什么了解或偏好吗?

重定向可以通过多种方式处理,在您的场景中最常见的是 post 到达预期目的地(通过表单上的 action 属性)- 在这种情况下 url你的主页(通常是'/'相对,这通常是首选,或者你可以使用完整路径/域名)。

下面是一个非常基本的示例,说明您可以使用 Ajax 和 PHP 做什么:

你的html

<input id='user' type="text">
<button onClick="setUser()">Set User</button>

你的javascript:

function setUser () {  

    var data = new FormData();
    data.append('user', document.getElementById('user').value);

    var xhr = new XMLHttpRequest();
    xhr.open('POST', 'user.php', true);
    xhr.onload = function () {
        if (this.responseText == 1) {
            window.location.href = "/"
        }
    };
    xhr.send(data);
}

你的 php 例如 (user.php)

if (!empty($_POST['user']) {
    echo "1";
}