重定向页面并通过javascript显示消息

时间:2016-06-13 06:39:14

标签: node.js alert

我有一个HTML页面,它提供了电子邮件ID和密码的输入字段,我使用这些值通过节点js express应用程序与我的后端SQL服务器连接。

我有一个app.post()方法来连接SQL。

app.post('/user', function (req, res, body) {
uid = req.body.user1;
pwd = req.body.user2;

    config = 'Server={ip of server};Database=Dbname;Uid=domain\\user' + uid + ';Pwd=' + pwd;

    var dbConn = new sql.Connection(config);
    dbConn.connect().then(function () {                                         //using promises instead of callbacks(onceconnect() is done), then go to then()

        var request = new sql.Request(dbConn);
         console.log('DONE');
    res.status(500).json({ status: 'done' })

    }).catch(function (err) {

        console.log("INVALID");
    res.status(500).json({ status: 'invalid' })
});

我想要实现的是 -

  1. 如果凭据有效,则显示提示“已完成”#39;在客户端。
  2. 如果凭据无效,则显示警告“无效”状态'在客户端。
  3. 目前,如果一切都有效,则/ user处有DONE。 如果ID和密码不匹配,则在/ user处存在INVALID。

    我的客户端代码是

    <!DOCTYPE html>
    <html>
    
     <body>
    
    <form id ="target" action="/user" method="post"> 
        UserID : <input id="uid" type="text" name="user1" />                        <!text fields for date input>
        Password  : <input id="pwd" type="password" name="user2" />
    
        <input id="Submit1" type="submit" value="LOGIN"/>       <!--<!submit button>-->
        <input id="Button" type="button" value="show graphs" onclick="btntest_onclick()" /> 
    </form>
    
    $.post("/user", function (data) {
        $("#target").html(data)
        alert( "Data Loaded: " + data );
    });
    
    <script type="text/javascript">
        function btntest_onclick() {
    
        setTimeout(function () {
    
           window.location.href = "/../";
        },500);
    }
    </script>
    </body>
    </html>
    

    我无法在客户端上使用$ .post()从用户检索数据 - 给出500错误。 我该怎么办?请帮帮我。

1 个答案:

答案 0 :(得分:0)

我可以通过使用jquery ajax回调来解决这个问题,该回调将数据返回给客户端。

$("#target").submit(function (event) {

    var formData = {
        'uid': $('input[name=uid]').val(),
        'pwd': $('input[name=pwd]').val()
    };

    $.ajax({
        type: 'POST', // define the type of HTTP verb we want to use (POST for our form)
        url: '/user', // the url where we want to POST
        data: formData, // our data object
        dataType: 'json', // what type of data do we expect back from the server
        encode: true
    })
     .error(function (data) {

         // log data to the console so we can see
         alert(data.responseText);
     })
    .done(function (data) {

        // log data to the console so we can see
        console.log(data);

        // here we will handle errors and validation messages
    });
    event.preventDefault();

});