Node学习(九)031-管理系统之修改英雄——服务端get接口写法之req.query可以获取到url上所有的参数 & ajax请求数据之get请求写法

Node学习(九)031-管理系统之修改英雄——服务端get接口写法之req.query可以获取到url上所有的参数 & ajax请求数据之get请求写法

五、修改英雄

分析

  • 在index.html 中,给“编辑”挂超链接,链接到edit.html。并且要挂id参数

在这里插入图片描述

5.1 服务端:完成响应一个英雄的接口

链接和接口数据

在这里插入图片描述

app.js中,完成接口:

// 3. 根据id,获取一个英雄
/**
 * 浏览器在请求这个接口的时候,必须要传递id参数
 */
app.get('/getHeroById', (req, res) => {
    
    
    // 服务器端,首先要获取url中的id参数的值。req.query可以获取到url上所有的参数
    // console.log(req.query); // { id: '3', age: '24' }
    let id = req.query.id;
    if (!id || isNaN(id)) {
    
    
        res.send('参数错误');
        return;
    }
    // 如果id没有问题,则根据id查询一个英雄
    db('select * from heroes where id=?', id, (err, result) => {
    
    
        if (err) throw err;
        // result 的值是一个数组 : [{"id":3,"name":"嘉文四世","nickname":"德玛西亚皇子","file":null,"skill":null,"age":22,"sex":"男"}]
        res.send(result[0]);
    });
});

获取接口数据成功

在这里插入图片描述

执行 git add .git commit -m '完成一个根据id获取英雄的接口'

5.2 前端:页面刷新,请求一个英雄

单条数据

在这里插入图片描述

edit.html中。发送ajax请求到 getHeroById接口。将获取到的英雄的数组渲染到页面中:

// 页面刷新,先获取地址栏的id
    var id = location.search; // ?id=3
    $.get('/getHeroById' + id, function (res) {
    
    
      // res 是 一个对象
      // 挨个设置input的value
      $('#heroName').val(res.name);
      $('#heroNickName').val(res.nickname);
      $('#skillName').val(res.skill);
      $('.preview').attr('src', res.file);
    }, 'json');

执行 git add .git commit -m '修改英雄的时候,前端将获取的英雄数据渲染到页面中'

猜你喜欢

转载自blog.csdn.net/weixin_44867717/article/details/129192512
今日推荐