【问题标题】:I'm having a cannot POST when attempting to submit a form with JS尝试使用 JS 提交表单时无法 POST
【发布时间】:2018-12-03 00:47:32
【问题描述】:

我的 Javascript 和 HTML 出现问题,当我提交表单时,我收到无法 POST 错误。我已经看过Shows error "Cannot POST" when I try to submit the HTML form,但这似乎是基于服务器的。抱歉,我是为了上课,所以现在时间有点紧。

我的登录JS代码:

function login(){
    var pw = document.forms['login']['passcode'].value;
    var email = document.forms['login']["email"].value;
    var login = userLogin().get();
    if(email == "adrian@tissue.com" && pw == "welcome1"){
        window.location = "issues.html";
    }
    else if(email == "admin@tissue.com" && pw == "admin123"){
        window.location = "subscription-dashboard.html"
    }
    else if(email == login[0] && pw == login[1]){
        window.location = "issues.html";
    }
    else{
        alert("That password/email is incorrect");
        return false;
    };
}

我的 get 模块是:

(function userLogin(){
return {
    store: function(password, email){
        sessionStorage.setItem(pass, password);
        sessionStorage.setItem(user, email);
        return false;
    },
    get: function(){
        var mail = sessionStorage.getItem(user);
        var pwkey = sessionStorage.getItem(pass);
        var loginfo = [mail, pwkey];
        return loginfo;
    }
}
});

而我的 HTML 代码是:

<form action="#" name="login" method="post" onsubmit="return login()">
        <input type="text" name="email" placeholder="Email" required>
        <input type="password" name="passcode" placeholder = "Password" required>
        <input type="submit" value="login">
</form>

为了方便起见,这是我的小提琴。我正在使用括号,这个类是客户端 JS。 https://jsfiddle.net/MiguelPi/nmp6oxat/1/

【问题讨论】:

    标签: javascript html


    【解决方案1】:

    好像你正在尝试访问一个匿名函数,像这样重写userFunction(不带外括号):

    function userLogin(){
      return {
        store: function(password, email){
          sessionStorage.setItem(pass, password);
          sessionStorage.setItem(user, email);
          return false;
        },
        get: function(){
          var mail = sessionStorage.getItem(user);
          var pwkey = sessionStorage.getItem(pass);
          var loginfo = [mail, pwkey];
          return loginfo;
        }
      }
    }
    

    【讨论】:

    • 您好,感谢您的回复,但似乎并非如此。它仍然说无法发布 /index.html 原因。
    • 您能否添加其余代码,以便我们查看问题所在?看来您正在使用 node.js。
    • 这就像您没有设置适当的路由来处理后端的请求。
    • 我添加了一个小提琴,我有相当多的代码,但我很确定这就是问题所在?我只在我的索引页面上调用 modules.js 和 login.js。
    • 由于它是唯一的客户端网页,因此您无法在任何地方收到“无法发布”(除非您实际上有一个内容是这样的页面,但我不这么认为)错误,通常会出现在处理请求的框架上。如果找不到您的页面,您一定会收到 404。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-05-05
    • 1970-01-01
    • 2018-05-14
    • 1970-01-01
    • 1970-01-01
    • 2019-01-31
    • 2018-02-15
    相关资源
    最近更新 更多