用axios连接aplCloud里的数据库,并用express和前端进行数据交互

后台

var express = require('express'); //引入express模块
var app = express();

var bodyParser = require('body-parser');  //这两个是为了使用req.body获取post的数据
var urlencodedParser = bodyParser.urlencoded({ extended: false })

const sha1 = require('sha1')   //这两个是连接数据库所必需的
const axios = require('axios')

const db = {  //在apiCloud上新建database,就会有appId和appKey
    appId: 'A6080003742490',
    appKey: '3122A704-87DA-D8FE-ADB7-32F13576097B'
}

const request = axios.create({
    baseURL: 'https://d.apicloud.com/mcm/api'   //你如果要连接aplClound里的数据库,这里是固定写法
})

const getHeaders = () => {
    const now = Date.now()
    return {
      'X-APICloud-AppId': db.appId,
      'X-APICloud-AppKey': `${sha1(`${db.appId}UZ${db.appKey}UZ${now}`)}.${now}`
    }
}

app.get('/todos',  function(req, res){
    res.header('Access-Control-Allow-Origin', '*');
    request.get('todo', {
        headers: getHeaders()
    }).then(
      data =>res.send(data.data),
      errro =>console.log('error', error)
    )  
});

app.post('/todo', urlencodedParser,  function(req, res){
    res.header('Access-Control-Allow-Origin', '*');
    request.post('todo', req.body, {
      headers: getHeaders()
    }).then(
      data =>res.send(data.status),
      errro =>console.log('error', error)
    )  
});

app.listen(3333);
复制代码

请自行使用npm安装所依赖的模块

前端


function getFun() {
    $.ajax({
        url: 'http://localhost:3333/todos',
        type: 'get', 
        success: function (data) {
            console.log("get结果", data);         
        },
        error: function (error) {
            console.log('Error: ' + error);
        },
    });
}
function postFun() {
    $.ajax({
        url: 'http://localhost:3333/todo',
        type: 'post',
        data:{
            "content":"999999999999999999",
            "completed":true
        },
        success: function (data) {
            console.log("post结果", data); 
        },
        error: function (error) {
            console.log('Error: ' + error);
        },
    });
}
复制代码

你可能感兴趣的:(用axios连接aplCloud里的数据库,并用express和前端进行数据交互)