如何将formData从Angular 2发送到nodejs
How to send formData from Angular 2 to nodejs?
我使用的是以下代码:
var creds = "username=" + 'user' + "&password=" + 'password';
var headers = new Headers();
headers.append('Content-Type', 'application/x-www-form-urlencoded');
http.post('http://localhost:3000/', creds, {
headers : headers
})
.map(res => res.json())
.subscribe(
data => this.logData(data),
err => this.logError(err),
() => console.log('Quote Complete')
);
NodeJs在this.request.body上得到了json{username:'user',password:'password'}。但我需要类似于{fields:{username:'user,password:'password'}}的json
如果只想使用url编码的表单,则不能。事实上,Node应用程序将把字符串内容(username=user&password=somepwd
)转换/反序列化为一个简单(扁平)的JavaScripty对象。
为了实现您在Node应用程序中接收的数据所需的(特定格式),您需要切换到请求负载的application/json
内容类型,如下所述:
var creds = {
fields: {
username: 'user',
password: 'password'
}
}
var headers = new Headers();
headers.append('Content-Type', 'application/json');
http.post('http://localhost:3000/', JSON.stringify(creds), {
headers : headers
})
.map(res => res.json())
.subscribe(
data => this.logData(data),
err => this.logError(err),
() => console.log('Quote Complete')
);
不要忘记在Node应用程序中注册正确的反序列化程序。例如使用Express:
var express = require('express');
var application = express();
application.use(bodyParser.json());
希望它能帮助你,Thierry
制作指定格式的对象,使用json.stringfy将其制作成字符串并发送到node.js服务器。
相关文章:
- nodejs-expressjs上传图像并显示它们
- TypeError:在不兼容的接收器nodejs上调用了方法Uint8Array.length
- NodeJS-readline暂停和恢复事件发射器(逐行读取)
- NodeJS日期格式不起作用
- 在mvc应用程序中,在回发时保留最初隐藏的文本框的隐藏或可见状态
- Nested Q.all nodejs
- Nodejs API控制器,用于在API之间切换
- 否'访问控制允许来源'标头存在于IISNOde中请求的资源(AngularJS+NodeJs)上
- 如何在大型nodeJS代码的基础上逐步引入typescript
- 回发时回显值
- 在Nodejs中Express输入DEBUG=app时权限被拒绝/bin
- 无法使用nodeJS在html中设置Image src
- 与域在同一台计算机上运行的NODEJS服务器的CORS错误
- NodeJS API调用中Array中的Push和Pull元素
- 基于api密钥的NodeJS web服务
- 在gump和nodejs中使用Typescript时,未定义对require和exports的引用
- “util.inherits”和在NodeJS中扩展原型之间的区别
- NodeJs 使用 Nodemailer 欺骗发件人/来自 gmail 的电子邮件地址
- 如何使用FormData将文件发送到Nodejs,并让Node发回确认消息
- 与简单的nodejs任务发生死锁