在 angular4 服务中传递参数



我一直在尝试将两个参数从我的角度前端传递到节点 api。但是,我在运行应用程序时paramter value is missing or invalid节点控制台上收到错误。 下面是节点 api 代码

app.post('/users', function(req, res) {
var username = req.body.username;
var orgName = req.body.orgName;
logger.debug('End point : /users');
logger.debug('User name : ' + username);
logger.debug('Org name  : ' + orgName);
if (!username) {
res.json(getErrorMessage(''username''));
return;
}
if (!orgName) {
res.json(getErrorMessage(''orgName''));
return;
}
var token = jwt.sign({
exp: Math.floor(Date.now() / 1000) + parseInt(config.jwt_expiretime),
username: username,
orgName: orgName
}, app.get('secret'));
helper.getRegisteredUsers(username, orgName, true).then(function(response) {
if (response && typeof response !== 'string') {
response.token = token;
res.json(response);
} else {
res.json({
success: false,
message: response
});
}
});

}(;

这是我的角度服务代码.为了演示,我从角度服务传递虚拟值

getEnrollmentId(userName,org) {
let headers = new Headers({ 'Content-Type': 'x-www-form-urlencoded' });
let options = new RequestOptions({ headers: headers });
let body = "'username=Barry&orgName=org2'";
return this.http.post('http://localhost:4000/users', body, options )
.map((res: Response) => res.json())
.catch((error:any) => Observable.throw(error.json().error || 'Server error shit'));

}

当我尝试通过调用节点 api 和传递参数来使用 curl 查询实现同样的事情时,我能够成功地发布数据并从 api 返回响应。下面是卷曲查询

curl -s -X POST 
http://localhost:4000/users 
-H "content-type: application/x-www-form-urlencoded" 
-d 'username=Jim&orgName=org1'

我在角度服务中做错了什么?

将参数作为 url 搜索参数传递, 下面的代码应该有帮助

let body = new URLSearchParams();
body.set('username', username);
body.set('orgName', orgName);

相关内容

  • 没有找到相关文章

最新更新