【发布时间】:2015-09-06 16:46:14
【问题描述】:
当参数作为 URL 的一部分附加时,我的 REST 后端 [ 基于 NodeJS/express/mongojs] 抱怨 404(未找到)。后端rest接口编码如下;
var express = require('express');
var router = express.Router();
router.get('/login', auth.signin); //auth.signin is code to verify user
基于 AngularJS 的前端通过 $resource 使用以上 REST 服务,如下所示;
定义:
angular.module('myapp').factory('signinmgr', function($resource) {
return $resource("http://localhost:3000/login", {}, {
'get': {
method: 'GET',
headers: {
'Content-Type': 'application/json'
}
}});
用法:
signinmgr.get({'username':'myname', 'password':'mypass'}, function(data){
//success
}, function(x){
//failed
});
问题:
上面的前端代码生成一个使用 REST 服务的 URL,其中参数是 URL 的一部分,即http://localhost:port/login?username=myname&password=mypass [如果我使用 GET 方法,POST 就可以]。我希望我的前端将 URL 保留为 http://localhost:port/login 并通过 body 发布任何参数,因为后端使用 req.body.paramName 来读取这些参数。 【实际解决方案】
1234563基本 URL http://localhost:port/login 已经存在。
PS:对于 (1),我尝试了 this thread 与 data:{username:'',password:''} 但没有用。如果我遗漏了一些非常明显的东西或一些概念,请提供帮助。
【问题讨论】:
标签: angularjs node.js express angular-resource