Angularjs 正在使用Node Express Postgresql尝试http PUT获取404
编辑:无所谓-我在角度服务中犯了一个小错误。我的错 我试图通过使用angular、Node和Express以及PostgreSql构建一个简单的CMS来教自己更多的后端。我想出了如何实现除更新之外的所有CRUD功能。我想我知道该怎么做,但我不知道我错在哪里。我一直得到一个404。我有什么误解或走错了方向?我知道这很简单,但我是个新手,所以我非常感谢你能帮我理解我的困惑。以下是相关代码: HTML 角度服务 服务器索引 节点控制器 blog_update.sql 控制台中的错误:Angularjs 正在使用Node Express Postgresql尝试http PUT获取404,angularjs,node.js,postgresql,express,put,Angularjs,Node.js,Postgresql,Express,Put,编辑:无所谓-我在角度服务中犯了一个小错误。我的错 我试图通过使用angular、Node和Express以及PostgreSql构建一个简单的CMS来教自己更多的后端。我想出了如何实现除更新之外的所有CRUD功能。我想我知道该怎么做,但我不知道我错在哪里。我一直得到一个404。我有什么误解或走错了方向?我知道这很简单,但我是个新手,所以我非常感谢你能帮我理解我的困惑。以下是相关代码: HTML 角度服务 服务器索引 节点控制器 blog_update.sql 控制台中的错误: 您的URL写错了
您的URL写错了 根据节点的快速路由,它应该是/api/updateBlogEntry 更改此部分
` url: 'updateBlogEntry/' + id,`
应该是
url:'/api/updateBlogEntry/'+id,应该是吗http://localhost:3000/api/updateBlogEntry/1 :p控制台错误?否此部分'url:'updateBlogEntry/'+id','应为url:'/api/updateBlogEntry/'+id,根据您的快速路线是!成功了!老兄,我知道这是我没看到的小东西!谢谢。补充回答:欢迎光临。
var id = $stateParams.id;
var title = $stateParams.title;
var author = $stateParams.author;
var imageurl = $stateParams.imageurl;
var content = $stateParams.content;
$scope.updateBlogEntry = function(id, title, author, imageurl, content) {
adminService.updateBlogEntry(id, title, author, imageurl, content);
}
this.updateBlogEntry = function(id, title, author, imageurl, content) {
return $http({
method: 'PUT',
url: 'updateBlogEntry/' + id,
data: {
id: id,
title: title,
author: author,
imageurl: imageurl,
content: content
}
})
.success(function(data) {
alert("Entry Updated");
})
.error(function(data) {
alert("Error Updating");
})
// EXTERNAL MODULES //
var express = require('express');
var bodyParser = require('body-parser');
var session = require('express-session');
var massive = require('massive');
// CONFIG //
var config = require('./config');
// EXPRESS //
var app = module.exports = express();
app.use(express.static(__dirname + './../dist'));
app.use(bodyParser.json());
// MASSIVE //
var massiveUri = config.MASSIVE_URI;
var massiveServer = massive.connectSync({
connectionString: massiveUri
});
app.set('db', massiveServer);
var db = app.get('db');
var dbSetup = require('./services/dbSetup');
dbSetup.run();
// CONTROLLERS //
var userCtrl = require('./controllers/userCtrl');
var blogCtrl = require('./controllers/blogCtrl');
// Blog Endpoints //
app.post('/api/createBlogEntry', blogCtrl.createBlogEntry);
app.get('/api/getBlogEntries', blogCtrl.readBlogEntries);
app.get('/api/getBlogEntry/:id', blogCtrl.readBlogEntry);
// BUG Why isn't this working?
app.put('/api/updateBlogEntry/:id', blogCtrl.updateBlogEntry);
// CONNECTIONS //
var port = config.PORT;
app.listen(port, function() {
console.log('Listening on port ' + port);
});
updateBlogEntry: function(req, res, next){
db.blogs.blog_update([
req.params.id,
req.body.title,
req.body.author,
req.body.imageurl,
req.body.content
],
function(err, results){
if (err){
console.error(err);
res.send(err);
} else {
res.send(results[0]);
}
})
}
UPDATE blogs
set
title = COALESCE($2, title),
author = COALESCE($3, author),
imageurl = COALESCE($4, imageurl),
content = COALESCE($5, content)
WHERE id = $1
RETURNING * ;
angular.js:11881 PUT http://localhost:3000/updateBlogEntry/1 404 (Not Found)
` url: 'updateBlogEntry/' + id,`