2

我正在为android制作一个离子应用程序,今天我在cloud9上用mongodb实现了一个服务器端nodejs(express)Restful API。

但是当我触发对 url 的 http 请求时,我不断收到标题中提到的错误:

这是我对 ionic 的角度 http 请求(只是先测试):

app.controller('DashCtrl', function($scope, $http, $q) { 
    $http.get('https://[workspace]-[user].c9users.io/api/capture')
        .then(function(result) {
            console.log(result);
    });
});

这是我的工作区的图像:

工作区

我使用以下代码制作数据库:api.js

var Capture = require('../models/capture');
module.exports = function(router) {
    router.get('/capture', function(req, res){
        var capture = new Capture();
        // capture.birdname = req.body.birdname;
        // capture.place.city = req.place.body.city;
        // capture.place.country = req.place.body.country;

        capture.birdname = "Pigeon";

        capture.save(function(err, data){
            if(err)
                throw err;

            res.json(data);
        });
    });

    router.get('/captures', function(req, res){
        Customer.find({}, function(err, data){
            res.json(data);
        })
    })
}

捕获.js

var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var captureSchema = mongoose.Schema({
    birdname: String,
    place: {
        city: String,
        country: String   
    }
});

module.exports = mongoose.model('Capture', captureSchema)

数据库.js

module.exports = {
    'url': 'mongodb://' + process.env.IP
}

服务器.js

var express = require('express');
var app = express();

var mongoose = require('mongoose');
var configDB = require('./server/config/database.js');

mongoose.connect(configDB.url);

var api = express.Router();
require('./server/routes/api')(api);
app.use('/api', api);

app.listen(process.env.PORT, process.env.IP);
console.log('Listening on port ' + process.env.PORT)

任何人都知道为什么我会收到此错误以及我需要做些什么来解决这个问题?我猜它与允许我向 API 发送请求的服务器有关,尽管我不知道如何实现它。

还有一种方法可以保护我的数据库(可能是 API 密钥),我将如何实现它?

提前致谢

4

0 回答 0