gpt4 book ai didi

angularjs - Node JS MongoDB POST 错误

转载 作者:太空宇宙 更新时间:2023-11-04 03:24:41 25 4
gpt4 key购买 nike

当我尝试发布到数据库时,它显示错误:“无法发布/api/postCampaign”和 POST http://127.0.0.1:50945/api/postCampaign 404(未找到)。我正在尝试将数据存储在 mongodb 数据库中。这段代码曾经可以工作, Mongoose 已连接模数数据库,但一段时间后我尝试重做代码,但 modulus.io 不再可用,因此我更改了连接 U​​RI。不确定是否还缺少其他内容

查看我的代码

服务器.js

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>

最佳答案

您正在尝试向数据库发出 HTTP 请求。这根本不可能。您应该向 Node 服务器发出请求,而 Node 服务器又应该将数据写入数据库。

尝试将您的请求发送到此端点:http://localhost:3000/api/postCampaign

关于angularjs - Node JS MongoDB POST 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46079689/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com