假设有一个景区价格列表页,显示当前的价目表。
价目表存放在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>