鍍金池/ 問答/HTML/ express 前臺頁面通過ajax傳值后跳轉(zhuǎn)問題

express 前臺頁面通過ajax傳值后跳轉(zhuǎn)問題

前臺頁面當點擊a標簽按鈕是觸發(fā)ajax發(fā)送post值到后臺

<script>
    $('a[type="submit"]').on('click', function() {
        let name = $('#name').val();
        let age = $('#age').val();
        let sex = $('#sex').val();
        let phone = $('#phone').val();
        let address = $('#address').val();
        let introduction = $('#introduction').val();

        $.ajax({
            type: "post",
            url: "/student/add",
            data: {
                name: name,
                age: age,
                sex: sex,
                phone: phone,
                adress: address,
                introduction: introduction
            },
            dataType: "json",
            success: function(response) {
                console.log(response);
            }
        });
    })
</script>

后臺自己封裝的添加數(shù)據(jù)函數(shù)

/**
 * 新增一條數(shù)據(jù)
 * @param {*集合名稱} collectionName 
 * @param {*新增條件} condition 
 * @param {*回調(diào)函數(shù)} callback 
 */
let fn_insertOne = (collectionName, condition, callback) => {
    getDB((db) => {
        //獲取集合
        db.collection(collectionName).insertOne(condition, (err, result) => {
            callback(err, result);

            db.close();
        })
    })
}

添加數(shù)據(jù)在這里實現(xiàn)

let fn_add = function(req, res) {
    Db.insertOne('student', req.body, (err, result) => {
        if (result == null) { //失敗
            res.setHeader("Content-Type", "text/html;charset=utf8")
            res.end("<script>alert('新增失敗')</script>")
        } else { //成功
            res.setHeader("Content-Type", "text/html;charset=utf8")
            res.end("<script>window.location.href='/studentmanager/list'</script>")
        }
    })
}

說明:很明顯我是需要添加數(shù)據(jù)成功之后寫入一段腳本跳回list頁面

問題:點擊添加數(shù)據(jù)按鈕數(shù)據(jù)添加成功之后頁面不跳轉(zhuǎn),打開瀏覽器調(diào)試返回的腳本內(nèi)容在response里面。

clipboard.png

回答
編輯回答
魚梓

window.location='/studentmanager/list添加到ajax成功后success的回調(diào)函數(shù)中試試

2018年2月13日 03:41