Javascript 如何使用node.js将.json文件作为HTTP POST发送?
我对这些概念都不熟悉,所以如果这个问题很琐碎,我很抱歉。我试图编写一个脚本,生成一个HTTPPOST请求,发送一个包含json数组的.json文件。我正在使用一个npm模块,可以在这里找到: 以及一个指导您使用以下模块的教程: 以下是我目前掌握的代码:Javascript 如何使用node.js将.json文件作为HTTP POST发送?,javascript,node.js,http,httprequest,Javascript,Node.js,Http,Httprequest,我对这些概念都不熟悉,所以如果这个问题很琐碎,我很抱歉。我试图编写一个脚本,生成一个HTTPPOST请求,发送一个包含json数组的.json文件。我正在使用一个npm模块,可以在这里找到: 以及一个指导您使用以下模块的教程: 以下是我目前掌握的代码: //var fs = require('fs'); var request = require('request'); // Set the headers var headers = { 'Content-Type': "s
//var fs = require('fs');
var request = require('request');
// Set the headers
var headers = {
'Content-Type': "stuff",
'x-authorization': "stuff"
}
// Configure the request
var options = {
url: 'http://localhost:8080/users/add',
method: 'POST',
headers: headers,
form: {
'username': 'testuser42',
'firstName': 'test',
'lastName': 'user42',
'password': 'testpassword'
}
}
// Start the request
request(options, function(error, response, body){
if (!error && response.statusCode == 200) {
console.log(body)
}
})
我试图发送到本地服务器的data.json文件将包含一个json数组,格式如下:
[
{
"username": "testuser1",
"firstName": "test",
"lastName": "user1",
"password": "password1'
},
{
"username": "testuser2",
"firstName": "test",
"lastName": "user2",
"password": "password2'
}
]
所以我认为我需要对每个数组元素分别发出POST请求,但我不清楚如何做到这一点。这里是一个简单的例子。正文需要是JSON类型,不管项目的数量如何,只要JSON格式正确,就可以开始了
const obj= {'msg': [
{
"username": "testuser1",
"firstName": "test",
"lastName": "user1",
"password": "password1"
},
{
"username": "testuser2",
"firstName": "test",
"lastName": "user2",
"password": "password2"
}
]};
request.post({
url: 'your website.com',
body: obj,
json: true
}, function(error, response, body){
console.log(body);
});
要包含json文件,只需像普通一样使用require函数
1:
const obj=require('./path_to/data.json')代码>为什么您认为需要执行两个单独的请求?我认为POST请求的正文只能包含一个json对象。为了回答您的问题,整个data.json是一个json文件,因此可以发送整个。你应该问自己的唯一一件事是潜在大小数组的大小是可变的,它不会总是只包含两个对象。检查我做的枯燥的回答,你可以在这里使用承诺,而不是回调,只是想使用最简单的示例另一个很好的选择是Axios,但在我的例子中,包含json项的“obj”位于单独的本地文件中。所以我想我要问的是如何把这个文件读入我的脚本?非常感谢!好吧,如果有帮助的话,接受未来行动的答案。欢迎