node怎么编写数据接口,就是让ajax用的

刚学node,跟这教程写了个blog,但是全程没有ajax,只有一下路由控制,不知道怎么写一些数据接口.求教程

阅读 5.7k
5 个回答

路由什么的你肯定了解了,你或许可以这样去实现:

oButton.onclick = function() {
    ajax({
        method : 'post',
        url : 'isuser',
        data : sName,
        success : function () {
            console.log('useable name');
        },
        async : false
    });
}
app.post('/isuser', function(req, res) {
  /*var username = req.body.username;
  User.isUser(username, function(status){  //我拷贝的自己的代码,不用管这块代码    
    if(status == 'OK'){
      res.send(200);          
    }else{
      res.send(404);
    }
  });*/   //这儿写你的逻辑
});

Express API

思路express路由->读数据库->返回json格式数据到前台

参考代码

/**
 * 获取公司表所有记录
 */
const mysql = require('mysql'), //需要安装npm install mysql
    pool = mysql.createPool({    
      host     : '127.0.0.1',
      user     : 'root',
      password : '***',
      database : '***',
      stringifyObjects: true, //对象类型设置。默认false : RowDataPacket对象 , true : json对象
      dateStrings : true, //日期时间类型设置。默认false : 2016-08-31T02:00:32.000Z (UTC通用标准时) , true : 2016-08-31 10:00:32 (常用日期时间格式)
    }); //数据库连接池


router.get('/', function(req, res) {
    pool.getConnection(function(err, connection) {
        if (err) throw err;
        const sql = `select * from company`; //es6模板字符串写法:`str`
        connection.query(sql, function(err, rows) {
            if (err) throw err;
            callback(rows); //返回json数据
            connection.release();
        });
    });
});

测试

  1. 路由get/api/company

  2. 返回数据:

    {
    //json数据
    }

直接使用express;
var app=express();

route
app.get('/path',callback);

一句两句说不清楚,挺复杂的事。你查查用node开发rest api,应该能有。

贴个koa的例子

var koa = require('koa');
var router = require('koa-router')();
var app = koa();
router.get('/version1', function *(next) {
    this.body = '{"version": "0.0.1"}';
});
app.use(router.routes());
app.listen(3000);
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题