0
DB에 게시하려고하면 'POST/api/postCampaign'및 POST http://127.0.0.1:50945/api/postCampaign 404 (찾을 수 없음) 오류가 표시됩니다. mongodb 데이터베이스에 데이터를 저장하려고합니다. 이 코드는 작동하는 데 사용되었고 몽구스는 모듈 데이터베이스와 연결되어 있었지만 언젠가는 코드를 다시 실행하려고했지만 modulus.io는 더 이상 사용할 수 없으므로 연결 URI를 변경했습니다. 내가노드 JS MongoDB POST 오류
var express = require('express');
var app = express();
var mongoose = require('mongoose');
var morgan = require('morgan');
var bodyParser = require('body-parser');
var port = process.env.PORT || 3000;
//Database connection
mongoose.connect('mongodb://localhost/myappdatabase');
app.use(express.static(__dirname + '/public'));
app.use(express.static(__dirname + '/dist'));
app.use(bodyParser.urlencoded({'extended':'true'}));
app.use(bodyParser.json());
app.use(bodyParser.json({ type: 'application/vnd.api+json' }));
app.use(morgan('dev'));
//Database Schema/Model
var Schema = mongoose.Schema;
var campaignSchema = new Schema({
goalAmount: String,
campaignTitle: String
});
var Campaign = mongoose.model('Campaign', campaignSchema);
//Routes
app.get('/startCampaign', function(req, res){
res.sendfile('./public/views/start-campaign.html');
});
app.post('/api/postCampaign', function(req, res) {
Campaign.create({
goalAmount : req.body.goalAmount,
campaignTitle: req.body.campaignTitle,
done : false
});
});
app.listen(port);
console.log('App listening on port' + port);
MainController.js
appTitan.controller('mainController', ['$scope', '$http', function($scope, $http){
// Signup form
$scope.form = 'signup';
$scope.switchForm = function(newForm){
$scope.form = newForm;
};
// Start camapaign
$scope.startCampaignData = {};
$scope.createCampaign = function(){
$http.post('/api/postCampaign', $scope.startCampaignData)
.success(function(data) {
console.log(data);
})
.error(function(data) {
console.log('Error: ' + data);
});
};
}]);
양식 페이지
<form action="">
<div class="form-group">
<label for="goal_amount">How much money would you like to raise?</label>
<input type="text" name="goal_amount" id="goal_amount" ng-model="startCampaignData.goalAmount">
<select name="goal_amount" id="goal_amount">
<option value="GBP">GBP</option>
<option value="USD">USD</option>
</select>
</div>
<div class="form-group">
<label for="campaign_title">What's the tile of your campaign?</label>
<input type="text" name="campaign_title" id="campaign_title" ng-model="startCampaignData.campaignTitle">
</div>
<div class="form-group">
<label for="goal_amount">Choose a category</label>
<select name="campaign_category" id="campaign_category">
<option value="">Choose a category</option>
<option value="USD">USD</option>
</select>
</div>
<div class="form-group">
<button ui-sref="form.stepTwo">CREATE</button>
<button type="submit" ng-click="createCampaign()">Submit Test</button>
</div>
</form>
내가 server.js 포스트 및 각 포스트하지만 모두가 반환 추가 한 : :: 순 ERR_CONNECTION_REFUSED 및 오류 : 널 (null) – billgajen
미안 해요, 난하지 않았다 당신이 바꾼 것을 이해하십시오. 제 생각에는 http : //127.0.0.1 : 50945'에서'http : // localhost : 3000'으로 API url 만 변경하면 코드가 작동합니다. – poohitan
답장을 보내 주셔서 감사합니다. @poohitan. 내가 보낸 mongoose.connect URI는 예제 일뿐입니다. 실제로 데이터를 저장하려고하는 곳은 mongodb : // : @ 123456.mlab.com : 222288/xxxxx입니다. API URL을 변경해야합니까? –
billgajen