在表单提交上发送GET而不是POST的html表单

时间:2014-07-03 06:25:35

标签: html express parse-platform

原谅我的网络技能,但我有一个非常基本的问题。

我有这个html表单,理想情况下应该使用post调用我的/ login url,但由于某种原因,它总是向该url发送一个get请求并失败。我无法弄清楚这是怎么回事。

这是我的html表单

<!DOCTYPE html>
<html class="no-js">
<head>

    <title>Login - MobileMedic</title>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta name="description" content="">
    <meta name="author" content="" />

    <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Open+Sans:400italic,600italic,800italic,400,600,800" type="text/css">
    <link rel="stylesheet" href="./css/font-awesome.min.css" type="text/css" />
    <link rel="stylesheet" href="./css/bootstrap.min.css" type="text/css" />
    <link rel="stylesheet" href="./css/jquery-ui-1.9.2.custom.min.css" type="text/css" />
    <link rel="stylesheet" href="./css/App.css" type="text/css" />
    <link rel="stylesheet" href="./css/Login.css" type="text/css" />
    <link rel="stylesheet" href="./css/custom.css" type="text/css" />

    <script src="./js/jquery-1.9.1.min.js"></script>
    <script src="./js/alert.js"></script>
    <script src="./js/jquery-ui-1.9.2.custom.min.js"></script>
    <script src="./js/bootstrap.min.js"></script>
    <script src="./js/plugins/parsley/parsley.js"></script>

</head>

<body>
    <div class="gifload"></div>

    <div id="login-container">

        <div id="logo">
            <a href="./index.html"> <img src="./images/logos/logo-login.png" alt="Logo" /> </a>
        </div>

        <div id="login">

            <h3>Welcome to Apprick Technologies.</h3>

            <h5>Please sign in to get access.</h5>

            <form method="post" action="/login" id="login-form" class="form parsley-form" data-validate="parsley">
                <div class="form-group">
                    <input type="email" class="form-control" id="email" placeholder="Email" required="required">
                </div>

                <div class="form-group">
                    <input type="password" class="form-control" id="password" placeholder="Password" required="required">
                </div>

                <div class="form-group">
                    <input type="submit" class="btn btn-primary btn-block" name= "Signin" value="Signin"/>
                </div>

            </form>

        </div>
    </div>
    <!-- /#login-container -->
</body>

为了使问题更清楚,我使用快递js与parse.com,这里是两个路由定义

app.get('/login', function(req, res) {
    res.send('get is called');
});

app.post('/login', function(req, res) {
    res.send('post is called');
});

现在无论我在表单方法中提供什么,我总是在提交按钮时在浏览器中得到“get be called”。

我还尝试调试开发人员控制台发生的事情,这就是我得到的

enter image description here

1 个答案:

答案 0 :(得分:0)

我尝试了你的代码,它正在作为一个&#34; POST&#34;请求。尝试将您的请求更改为&#34; GET&#34;并且您可以在URL中注意到它最后有类似的内容&#34;?Signin = Signin&#34;

包含&#34;名称&#34;属性到您的输入标签。

样品:

<input type="email" name="email" class="form-control" id="email" placeholder="Email" required="required">

提交表格后你可以看到类似的内容:

/login?email=testemail%40test.test&Signin=Signin