浅谈Express的put与del

假设有一个景区价格列表页,显示当前的价目表。

价目表存放在express应用的数组中:

var tours = [
    {id:0,name:'Hood River',price:99.99},
    {id:1,name:'Oregon Coast',price:149.95}
];

价目表查看页面,XML效果如下所示:

<tours>
<tour price="99.99" id="0">Hood River</tour>
<tour price="149.95" id="1">Oregon Coast</tour>
</tours>

expres设置put节点用于更新价目表:

app.put('/api/tour/:id',function (req,res) {
    var id = req.params.id;
    var p = tours.some(function (p) {
       return p.id == id;
    });
    if(p){
       if(req.query.name) tours[id].name = req.query.name;
       if(req.query.price) tours[id].price = req.query.price;
       res.json({success:true,tours:tours,p:p});
    }else{
       res.json({error:'No such tour exists.'});
    }
});

expres设置del节点用于删除一条价目信息:

app.del('/api/tour/:id',function (req,res) {
    var id = req.params.id;
    var p = tours.some(function (p) {
        return p.id == id;
    });
    if(p){
        tours.splice(id,1);
        res.json({success:true,tours:tours,p:p});
    }else{
        res.json({error:'No such tour exists.'});
    }
});

使用ajax模拟发送put和del请求。

当我们想要更新价目信息时:

$.ajax({
    url:"http://10.21.20.234:3000/api/tour/0?name=Woods&price=100.00",
    type:'put',
    success:function(res){
        console.log(res);
    }
});

价目表XML更新为:

<tours>
<tour price="100.00" id="0">Woods</tour>
<tour price="149.95" id="1">Oregon Coast</tour>
</tours>

当我们想要删除价目信息时:

$.ajax({
    url:"http://10.21.20.234:3000/api/tour/0",
    type:'DELETE',
    success:function(res){
        console.log(res);
    }
});

价目表XML更新为:

<tours>
<tour price="149.95" id="1">Oregon Coast</tour>
</tours>

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注