post與get小坑整理

不多說直接上代碼。。。

  1. 發出請求
  <a href="/admin/category/edit?u_id={{category._id.toString()}}">修改</a>

2.響應請求

router.get('/category/edit',function(req,res){
    var u_id=req.query.u_id;
    console.log(u_id);
    Categories.findOne({
        _id:u_id
    }).then(function (data) {
        console.log("~~~~~~~~first page");
        console.log(data);
        res.render('admin/category_edit',{
            userInfo:req.userInfo,
            data:data
        })
    })

})

3.再次發出請求

{%extends 'layout.html' %}
{%block main%}
<ol class="breadcrumb">
    <li><a href="/admin">管理首頁</a></li>
    <li><span>編輯分類</span></li>
</ol>

<form method="post">
    <div class="form-group" >
        <label for="name">分類名稱--{{data.name}}</label>
        <input type="text" class="form-control" id="name" placeholder="請輸入修改後的分類名稱" name="name">
    </div>
    <button type="submit" class="btn btn-info">提交</button>
</form>


{%endblock%}

4.再次響應請求

router.post('/category/edit',function(req,res){
    //這是因爲在post之前,已經發送了get請求
    var u_id=req.query.u_id;
    var name=req.body.name;
    console.log('u-----------id');
    console.log(u_id);

    Categories.findOne({
        _id:u_id,
    }).then(function(data){

        if(name==data.name){
            res.render('admin/success',{
                userInfo:req.userInfo,
                message:'修改成功',
                url:'/admin/category'
            });
           return  Promise.reject();
        }else{
            return Categories.findOne({
                _id:{$ne:u_id},
                name:name
            })
        }

    }).then(function(someCate){
        if(someCate){
            res.render('admin/error',{
                userInfo:req.userInfo,
                message:'已經有了該類名'
            })
            return  Promise.reject();
        }else{
             return Categories.updateOne({
              _id:u_id
            },{
                name:name
            })
        }
    }).then(function(){
        res.render('admin/success',{
            userInfo:req.userInfo,
            message:'修改成功',
            url:'/admin/category'
        });
    })

})

本人翻車在第二次發出請求時,寫了具體url這也寫的代價是拿不到上次請求時的參數。。。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章