1. 程式人生 > >node.js後臺jquery前臺-- 實現使用者登入註冊AJAX互動

node.js後臺jquery前臺-- 實現使用者登入註冊AJAX互動

最近實現了node.js當作後臺,jquery寫前臺AJAX程式碼的,實現使用者登入和註冊的功能,重新整理了前後端互動的三觀。特記錄一下。

1.login.ejs實現form框架

   <form >
            <ul>
                <li><p>使用者名稱</p></li>
                <li><input type="text" name="username" id="username"></li>
            </ul
>
<ul> <li><p>密碼</p></li> <li><input type="password" name="password" id="password"></li> </ul> <ul class="mt50"> <li><input id="login_submit" class="submit"
type="button" value="登 陸">
</li> </ul> </form>

form不加method,意圖自己用ajax傳送請求。

2.js實現request的傳送

$("#login_submit").click(function(){
    var username=$('#username').val();
    var password=$('#password').val();
    //這裡實現對 username和password格式的判斷
    //........

    //傳送ajax請求 使用post方式傳送json字串給後臺login
$.ajax({ type: "post", url: "http://localhost:3000/login", dataType: "json", data:{ username: username, password: password }, success: function(data){ //接受返回的資料,前端判斷採取的動作 if(data){ if(data.message=="false"){ alert('密碼錯誤,請重新輸入'); window.location.href="login"; }else{ alert('登陸成功'); window.location.href="index"; } } else{ } } }); });

2.後臺接收

/**
 * 註冊頁 post 
 */
router.post('/reg', function (req, res, next) {
    //先查詢有沒有這個user
    console.log("req.body"+req.body);
    user2.findDocuments(DATABASE, "users", 1, {"uName":req.body.username}, function (user) {
        res.setHeader('Content-Type', 'application/json;charset=utf-8');
        if(user.length==0){
            //使用者名稱沒有重複  同意建立使用者
            user2.insertDocuments(DATABASE, "users",
                [{
                    "uName":req.body.username,
                    "uPasswd":req.body.password,
                    "uEmail":req.body.email,
                    "uHasshop":0,
                    "uShopname":"null",
                    "aId":'-1'

                }],
                function (result){
                    res.send({status:"success", message:"true"});
                }
            );
        }
        else{
            // 使用者名稱重複。找到這個user 不同意建立使用者
            res.send({status:"success", message:"false"});

        }
    });
});

註冊頁面跟登陸頁面類似。不再贅述。

總之呢,之前老是覺得自己瀏覽器訪問的頁面是前端的東西。後端是一個虛無縹緲的一堆程式碼。現在明白其實訪問的所有的url都是屬於後端的。後端傳送什麼內容,瀏覽器就顯示什麼內容。前端的顯示只是一時半刻,後端的資源才是永久噠。

晚安。